Twitterの古いダイレクトメッセージAPIは2018年6月に廃止らしい
Twitter のダイレクトメッセージ API のドキュメントを見返していたら、今まで使われていたエンドポイントはすべて2018年6月19日 (日本時間だと6月20日?) で廃止されると書かれていました。
例えば「POST direct_messages/new (deprecated) — Twitter Developers」などにありますが、
Important: This endpoint will be deprecated and non-functional on June 19, 2018. See the DM Migration Guide for further information.
ということだそうです。そのまま訳すと「機能しなくなる」ということなので、この日をもって使えなくなるということでしょうか。
「Direct Message API migration — Twitter Developers」に移行ガイドがあるのでそれに従って変更すればいいのですが、
– Message is defined in JSON POST body
– content-type header must be set to application/json
– JSON body is not included in the generation of the OAuth signature.
といった変更があるようで、使用しているライブラリが未対応だと「Could not authenticate you.」と OAuth の認証エラーが返されてしまいます。つまり、エンドポイントが機能しなくなってアプリケーションエラーとなる恐れとともに、ライブラリの対応が遅れてエラーとなる恐れもあります。DM 関連の API を使用している場合は注意が必要です。
PHP でよく利用されているライブラリの「abraham/twitteroauth」はかなり前にプルリクが作られてるけどだいぶ放置されている…。一応このプルリクの修正内容を見れば対応方法は分かります。実際にこの通りに修正してみると上手く動作しました。
(追記: 2018-07-24) 上記プルリクは v0.9 に取り込まれたようです。
調べたら User Streams API なども同時期に廃止になるんですね。そういえばニュースで見かけた記憶があった。
» Twitterの“流れるタイムライン”なくなる? 「User Streams API」が来年6月20日に廃止 – ITmedia NEWS
(追記: 2018-07-24) TwitterOAuth での対応方法を書きました。
→ Twitter のダイレクトメッセージ API 新仕様に TwitterOAuth で対応する方法
コメントを残す