Twitter API1.1 実行回数

まだTwitter APIと格闘している働き者の皆様、API実行回数をまとめているサイトがありましたので参考までにどうぞ。

tsupo / Twitter_API_1.1_rate_limit.txt
https://gist.github.com/tsupo/5597066

検索結果の場合は15分辺り、

GET search/tweets 180回/user, 450回/application

とのことですが、うちのサイトはこれよりずっと少なかったはずなのに無効にされたということは、規約違反扱いなのかもしれません。

今となっては確認できませんが、各ツイートの相対時間(○分)の他に絶対時間(○年○月○日hh:mm:ss)も入れていましたし、何よりツイートの順序が昇順でしたので明らかに規約違反だったと思います。

今後もし開発をするようであれば、レイアウトの規約は厳密に守った方が無難です。

相対時間を厳密に表示するのが面倒くさそうですね。
でもやらないと規約違反になってしまいます。。。
 

Twitterの開発者用アカウントを無効にされた

レイアウトが規約違反だったので、そういうことなのでしょうか。

{"errors":[{"message":"Invalid or expired token","code":89}]}

と返されて検索結果のツイートを取得できなくなっていました。
気づいたのは今日、今さっきです。

本当にinvalid(無効)になったのか、試しにTwitterの公式ディベロッパーサイトにログインしてみると、access tokenがなくなっていて、再度サイトを登録するよう促されたので本当に無効になったようです。

NGならNGでウィジェットに変えてしまうつもりだったので、このまま放置することにします。

Twitterではなくて、もっとおもしろいツールで遊んでみたいですね〜。
 

Twitter API 1.0から1.1 検索結果取得での変更点

実際のソースはすでに修正しておきました。
下のページのソースをそのままコピペすればすぐに使えるはずです。

PHPでTwitter API 1.1 ツイート検索結果を取得 その2

API 1.1移行を発表してから、ずいぶんとタイムラグがあってのTwitter側での対応となりました。
ソース自体は作っておいたのですが、2013年3月時点でもまだ動きませんでしたからね、どうなることやらって感じでした。

新仕様どおりに1月の時点で作っておいたソースが6月14日の時点で動作せず、右往左往している様子は昨日の記事で見ることができます。

この2つはわかっていたことですが要修正で変わらずでした。
修正しておきましょう。

(1)リクエストURLを
https://api.twitter.com/1.1/search/tweets.json に変更
(2)パラメータのrppをcountに変更

そんなこったろうとは思っていたのですが、やはり仕様で他に変更が出ていました。

まず検索結果取得で「page」が使えなくなってますね。
代替案はあるのかもしれませんが、正直自分は「もうイイヤ・・・」って感じです。
Twitter側が「ウィジェットを使え」と言っていますし、単純に検索結果を表示したいのならウィジェットで十分なので。

Twitter ウィジェットの付け方
(検索結果の表示もできます)

今まで1ページ100ツイートを15ページまで、1度に1500ツイートは取得できたと思うのですが、API 1.1からは1回のアクセスにつき100ツイートまでとなっています。
これは以前から発表されていたのかな。。。

1時間に180アクセスまでとかどこかに書いてあったような気がしますが、オフィシャルサイトで確認したわけではないので何とも言えないです、スミマセン。

イヤらしい変更点は、jsonで取得するときキーの名前が変わってました。
ソースで言うところの、この部分↓

//オブジェクトを展開
$oObj=$oObj->{'results'};

この「results」が「statuses」に変更されてました。
それとscreen_name、user_name、profile_image_urlあたりも少し書き方が変わったので、実際のソースでご確認ください。

それからアナウンスどおり、アクセストークンと秘密鍵を入れないと取得できなくなっていたので入れました。
ディベロッパー向けサイトのマイページから、簡単に取得できるようになっています。

My applications
https://dev.twitter.com/apps

twitteroauthが何年かぶりにバージョンアップしたので、ダウンロードし直しておいたほうがいいと思います。

twitteroauth
https://github.com/abraham/twitteroauth

以上を修正したらいつものようにツイートを取得できるようになりました。
ただし取得ツイート数は激減ですが。。。

これで意味のないツイートばかりするbotが減ってくれれば、自分はウィジェットに変更したいです。

2013/08/19 追記:
アクセストークンを無効にされてしまい、ツイートの取得ができなくなってしまいました。
こちらで記事にしています。
 

Twitter API 1.0 終了の影響をもろに受けました

11日にTwitter API 1.0が終了したのですね。
今気づきました。

で、対策はしていたつもりだったのですが、うちも取得できなくなっていました。

以前書いていた

//https://api.twitter.com/1.1/search/tweets.jsonに変わったハズなのに現時点では古いまま
//本当はrppをcountにしないといけないはずだが、やはりこれも古いまま

ここら辺を修正してみたのですが取得できませんでした。

TwitterのディベロッパーサイトにシレっとAccess tokenとAccess token secretが追加されていたので、入れてみたのですが変わりません。

↓このページの該当のアカウントからAccess tokenとAccess token secretを取得できます。
My applications
https://dev.twitter.com/apps

仕様を見てみると「page」の項目がないので外してみたのですがムダでした。

格闘中です。
もう少しお待ちください・・・。

追加:
twitteroauthがバージョンアップしてるみたいです。
一応DLし直して上書いておいたほうがいいと思います。

twitteroauth
https://github.com/abraham/twitteroauth

これを上書いてもまだ動きません。。。
 

新しいTwitter ウィジェットの付け方

3月5日にAPIが1.1にバージョンアップしたことになっているTwitterですが、自分のブログなどにツイートを載せるウィジェットも新しくなりました。

実はやはりその他の開発系は3月5日に間に合わなくて遅れているらしいですがw

で、新しいウィジェットですけど、ログインしてこちら↓にアクセスすれば右上に「新規作成」ボタンが現れるのでクリックします。

https://twitter.com/settings/widgets

Twitterウィジェット作成

ドメインを指定しないといけなくなったんですね〜。
例えばアメブロなら、

ameblo.jp

となります。
横幅の調節ができなくなっていますが、取得したコードをちょこっと変更すればできます。

<a class="twitter-timeline" href="https://twitter.com/twitter" data-widget-id="000000000000000000" width="300" height="300">@twitter からのツイート</a>

<a>タグの中に「 width="300" height="300"」を追加してあります。
数字を任意の大きさに変えればOK。
色の変更の仕方とか、詳しくは日本語で公式の解説があるので参照してみてください。

埋め込みタイムライン
https://dev.twitter.com/ja/docs/embedded-timelines

前のウィジェットはすでに半年くらい前からエラーで見られないことが多かったですけど、これで解消するのではないでしょうか。

ちなみに自分のツイートより「検索ウィジェット」のほうが使えそうな気がしました。
例えば黒バス好きの人なら「検索クエリ」のところに「#黒子のバスケ」と入れてウィジェットを作れば、いつでも黒バス関係のツイートが見られますよね。

Twitter 検索クエリ

新ウィジェットは複数作って管理できるようになったようです。
これはおもしろいかも。