Twitter APIで取得したつぶやきが「truncated=true」で切れてしまう!
この前ツイッターAPIでつぶやきを取得したら、長いつぶやきの全文を取得できませんでした。
つぶやきの末尾が「・・・」となってしまって省略されてしまっていたんです(truncatedというフィールドにはtrueがセットされていました・・)
最近ツイッター公式側の対応で、長いつぶやきはちょん切れて、省略されてしまう仕様になったそうです。
↓
Upcoming changes to Tweets — Twitter Developers
省略されていないつぶやきを取得するためには、ツイッターAPIのURLの最後に「tweet_mode=extended」というクエリーを付けること。
すなわち「https://api.twitter.com/1.1/statuses/show.json?tweet_mode=extended」
といったURLに要求を送ると「text」フィールドの代わりに「full_text」というフィールドが用意されて、そこに省略されていないつぶやきが格納されているそうです。
私はツイッターAPIを使うときに「TwitterOAuth」というライブラリを使っているんですが、例えば「TwitterOAuth」で長文つぶやきを取得するときは、以下のようになります。
$oauth_access_token = "hogegegegege"; $oauth_access_token_secret = "fugagagagagaga"; $consumer_key = "abcdefghijklmnopqrstuvxxyz"; $consumer_secret = "testestestestestes"; $connection = new TwitterOAuth($consumer_key,$consumer_secret,$oauth_access_token,$oauth_access_token_secret); $result = $connection->get("statuses/show", array("id" => "123456789", "tweet_mode" => "extended"));
「TwitterOAuth」のインストールの仕方は、私が以前書いた記事をご参照ください。
twitteroauthの使い方(2015年3月時点) - やったこと
以上です。