twicca マルチ画像プラグイン」タグアーカイブ

【緊急のお知らせ】「twicca マルチ画像プラグイン」の更新で調子が悪くなった時には再認証と再インストールをお試しください


twicca マルチ画像プラグイン (Google Play)

アカウント認証が正常に完了できないとのご指摘をいただき本日更新版(1.0.27)をリリースいたしましたが、Twitterを見る限り一部環境で調子が悪くなる事象が発生しているようです。再インストールで直ったという報告が複数ございますので、調子が悪くなった場合には

1) アカウントの「認証解除」を行った後にもう一度「認証」を行っていただく
2) 1) でも改善しない場合は一度プラグインを削除したのちに再インストールしていただく

をお試しいただければと存じます。以上、よろしくお願いいたします。

【おしらせ】「twicca マルチ画像プラグイン」をTwitter API 1.1対応いたしました


twicca マルチ画像プラグイン (Google Play)

twicca_multi_image_plugin

Twitter API 1.1への対応はすべてのクライアントアプリにとって必須ですが、今回「twicca マルチ画像プラグイン」が1.0.26にてAPI 1.1対応いたしました。なお現在アクティブなインストール数は47,000程度なので、認証数の上限といわれている10万にはまだ余裕があり、当面の間認証が出来なくなることはないだろうと思われます。

【お知らせ】「DeathGrip Simulator」「twicca マルチ画像プラグイン」「PictPlane for Twitter」のAndroid 4.0対応について


DeathGrip Simulator (Android マーケット)
twicca マルチ画像プラグイン (Android マーケット)
PictPlane for Twitter (Android マーケット)

12/2に国内発売になりましたAndroid 4.0端末「GALAXY Nexus」において、拙作Androidアプリ「DeathGrip Simulator」「twicca マルチ画像プラグイン」「PictPlane for Twitter」の動作確認を行い、正常に動作することを確認できました。今後登場するであろうAndroid 4.0端末においても問題なく動作するものと思われます。

ただし現状のアプリはAndroid 1.6以上をターゲットにしているため、Android 4.0に最適化されたインタフェースとは言えない状態です。このあたりはAndroid 4.0の普及度合を見ながら順次対応していきたいと思っております。

今後とも拙作アプリをご愛用いただけますよう、よろしくお願い致します。

【ご連絡】「twicca マルチ画像プラグイン」へのよくあるお問い合わせ


拙作「twicca マルチ画像プラグイン」について、最近「動かない」「アップロードできない」というお問い合わせをしばしばいただきます。複数の画像サービスと連携して動作するという仕様上、画像サービス側の仕様変更など様々な要因でプラグインが機能しなくなることがあるのは事実です。いただいたご報告の都度調査・対応させていただいておりますが、しばしばプラグイン側でどうにもならないことについてもお問い合わせをいただくことがあります。以下をご確認ください。

1. 「アップした画像が表示されない!」

このプラグインは「画像のアップロード」しかできず、アップした画像を表示する機能はありません。twiccaのタイムライン画面で画像をプレビュー表示するのはtwiccaの機能で、このプラグインの機能ではありません。そのため「画像が表示されない」事象についてはtwiccaなど各クライアントの作者様へご相談ください。ただし、Webブラウザなどで画像サービスのWebページを開いても画像が存在しない(アップロードされていない)場合はこのプラグインが関連している場合がありますのでお知らせ下さい。

2. 「アップロード以前に添付できない!」

このプラグインは「添付された画像をtwiccaから受け取ってアップロードする」仕組みになっています。画像を添付してプラグインに引き渡す機能を担当しているのはtwicca本体で、添付できない状態ではこのプラグインは動く機会を与えられていない状態です。本体の作者様へご相談ください。

—-

またご連絡をいただく際には

・twiccaのバージョン
・このプラグインのバージョン
・不具合が発生している画像サービス
・画面に表示されるメッセージなど詳細な情報
・他の画像サービスにはアップロードできるかどうか

をお知らせいただくと、素早い対応が可能になります。

—-

今後も「twicca マルチ画像プラグイン」で皆様が快適なTwitterライフを送れるよう日々努力してまいります。よろしくお願い致します。

【開発ノウハウ】「twicca マルチ画像プラグイン」の不具合修正で分かったMobypictureの微妙な挙動


拙作「twicca マルチ画像プラグイン」は、Twitterクライアント「twicca」に、Twitpicやyfrogなど複数の画像サービスへのアップロード機能を追加するプラグインですが、最近になって画像サービス「Mobypicture」へのアップロードがエラーになるという報告をいただきました。2度のバージョンアップで修正しましたが、同じようなアプリを作っている人に役立つかも知れないと思い、以下に事象の発生原因などまとめてみようかと。

本事象は表面上「Mobypictureへの投稿エラー」という1個の事象ですが、内部的には以下2個の事象が発生していました。

1. Android特定バージョンにおいて、OAuth Echoが正しく機能しない事象
2. Mobypicture APIが仕様通りのJSONレスポンスを返さない事象

以下それぞれについてまとめます。

1. Android特定バージョンにおいて、OAuth Echoが正しく機能しない事象

バージョン1.0.22以前で発生し、1.0.23でフィックスした事象です。

Mobypictureに限らず、Twitterアカウントを用いた他社サービスでは多くの場合「OAuth Echo」という認証の仕組みを用います。これはリクエスト時に認証用の文字列を一緒に送信することでアカウントの認証を行うものです。Mobypictureの場合、HTTPヘッダに「X-Auth-Service-Provider」「X-Verify-Credentials-Authorization」という2種類のパラメータを付加することになりますが、この方法で送信を行った場合、Androidの特定バージョンで

500:Something is broken. Please post to the group (https://dev.twitter.com/docs/support) so the Twitter team can investigate.

のようなレスポンス(要するに500エラー)が返ってきてしまい、画像の投稿が完了できない事象が発生しました。

不思議なことにこの事象はAndroid 2.3系のXperia arcでは発生せず、Android 2.2系のIS03で発生しました(エラー報告をメールでいただいた人の端末もAndroid 2.2系でした)。一方、全く同じようにHTTPヘッダーに認証用文字列を与えている他の画像サービスではIS03でも正常に投稿が完了しました。以上から本事象は、OSのバージョンとMobypicture・Twitter側の処理の微妙な食い合わせに起因する事象と推測されます。

対処として(対処療法的ではありますが)MobypictureではOAuth Echoの認証文字列を「HTTPヘッダでなくPOSTのパラメータで送る」ことができるので、そのように変更したところ認証が正常に機能するようになり、画像投稿が可能になりました。

2. Mobypicture APIが仕様通りのJSONレスポンスを返さない事象

バージョン1.0.23以前で発生し、1.0.24でフィックスした事象です。

1.0.23で事象1を修正してMobypictureへの投稿は問題なくなったはずだったのですが、最近になってまた投稿できないというTwitterでのツイートがちらほら見られるようになったので調べてみたところ、Mobypicture APIの返り値がひっそり変更されているのを見つけてしまいました。

MobypicuteのAPIドキュメントによると、投稿に成功した時に戻ってくるJSON文字列は以下のように規定されています。

{
    "media":
    {
        "mediaid":"6646300",
        "mediaurl":"http:\/\/moby.to\/9i8xe1"
    }
}

しかし11/26現在、実際に戻ってくるJSON文字列は以下のような形式です。

{"mediaid":11335890,"mediaurl":"http:\/\/moby.to\/htmgwh"}

APIドキュメントの仕様では「media」の子要素として「mediaid」「mediaurl」が配置されているのに対して、実際に戻ってくる文字列では「media」がなく、いきなりルート要素に「mediaid」「mediaurl」が配置されています。従来のプラグインは当然APIドキュメントのようなJSON文字列を想定しているので、実装が正しくJSON文字列を解釈できずエラーになっていたというわけです。

対処としては、JSON文字列がAPIドキュメント通りの形式・現状の形式のどちらであっても正しく解釈して画像URLを抽出できるように実装を修正しました。そのため現状のJSON文字列形式が実はMobypicture側の不具合で、将来的にAPIドキュメント通りの形式に戻ったとしても、再び不具合になることはないはずです。

—-

どうやら上記2点の修正により、旧版でエラーになっていたユーザー様も最新版(1.0.24)ではMobypictureでの投稿ができるようになっている様子です。Mobypicture側でなにかインフラの更新を行なっているんでしょうかね? 微妙な挙動変化が気になります。

ネットサービスと連携するアプリはネットサービス側の挙動が少し変わると機能しなくなってしまう(しかもユーザー様には「アプリが動かない」という見え方をする)リスクを根源的に抱えているわけで、連携するサービスの数が多ければ多いほどそのリスクは増大するわけで、そうやって考えると「twicca マルチ画像プラグイン」はなんてリスキーなアプリなんだろうと今さらながら思います。休暇の戯れで気軽に作ってしまったアプリですが、そのメンテナンスは修羅の道かもしれませんねw。

あ、もちろん今後も(個人で出来る範囲で)メンテさせていただきますので、ユーザー様においては安心してお使いいただきたく存じます。