Yaks

Twitter API で DM (ダイレクトメッセージ) の送受信に別途許可が必要になったので、その対応方法のまとめ はてなブックマーク - Twitter API で DM (ダイレクトメッセージ) の送受信に別途許可が必要になったので、その対応方法のまとめ

2011年 5月 18日づけで Twitter の API を経由して DM を送受信する場合には別途アクセス許可を行う仕様に変更される、という公式のアナウンス (英語) がありました。

以前から API のアクセス権を細分化してほしいというリクエストが各方面で見られましたが、これに答える形での仕様変更としています。

具体的には、これまで API のアクセス権には Read and Write (情報の読み書き)、Read only (読み込みのみ) という 2パターンしかありませんでした。DM の操作に関してもこのアクセス権によって読み書き、または読み込みのみが行えていました。

ここに新たに Read, write and Private message という選択肢が加えられ、DM 関連の操作はこのアクセス権を選択しないと行えない形に変更されることになりました。

api_spec_201105_01.png

既存のアプリケーションはすべて Read and write (または Read only) のままの扱いになります。つまり、何も変更を行わないと既存のアプリケーションは DM 関連の操作が行えないことになります。

api_spec_201105_02.png

逆に DM を操作アプリケーションであれば、何も変更を行う必要はありません。おめでとうございます。

では具体的な変更点を見ていきます。変更が必要になるのは以下の 3点です。

1. アクセス権を Read, write & Private message に変更する
2. xAuth を使っている場合は OAuth に変更する
3. ユーザーに再度認証をしてもらう。


まずはアクセス権の変更を行います。

アプリケーションの管理画面から該当のアプリの設定画面を開きます。すると Access Level の設定に Read, Write & Private message という項目が追加されているので、選択して保存します。

次にこれまで xAuth を使っていた場合は OAuth に変更します。

と、さらりと重いことを書いていますが、これは今回の仕様変更に伴ってDM の操作が OAuth での認証でしか使えなくなってしまうためです。(xAuth 経由だと Read, Write & Private message の設定にしていても Read & Write と同じアクセス権しか与えられない) ですので残念ながら xAuth を使っている場合は OAuth に変更する必要があります。

最後に、既存のユーザーに再度認証を行ってもらうように変更します。これは、既に OAuth の認証によって取得したトークンがその時点でのアクセス権、つまりは Read & Write 相当のアクセス権しか持っていないため、DM に関する許可が与えられていないためです。

ですので再度認証を行い、新たな Read, Write & Private message レベルのアクセス権を持ったトークンに置き換えてやる必要があります。


以上で引き続き DM に関する操作をアプリケーションから行うことができるようになります。

ちなみにこの仕様変更の実施は 2011年 6月 14日からとアナウンスされており、この間に上記の仕様変更を行う必要があります。(アクセス権の設定の変更は既に行えます。ちなみに発表当初は 5月末でしたが、2週間延期されました。)

特に xAuth からの変更は大変かと思われますが、1ヶ月ほどの猶予がありますので早めに対応を行っておくとよいでしょう。

(Multtiple も近日中に対応バージョンをリリースします。)


であ、また。