Twitterのキーワード検索APIでエラー
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2010-05-22
Twitter で、特定のキーワードを元に、発言(つぶやき)を抽出できる API がありますが、とある環境で取得に失敗していたので調べてみました。エラーの内容は以下の通りです。
[warning] adjusted since_id to XXXXXXXXXXX due to temporary error
最初は、OAuth に切り替えたところを疑っていたのですが、リクエストトークン・アクセストークンともに取得できていたので、発言の取得部分に絞ってみました。
結果、発言を取得する API の URL のパラメータの有無で挙動が変わることを確認しました。日本語の発言を取得する目的で、lang=ja のパラメータをクエリー(Query)に設定していたのですが、これを取り除くとデータが取得できるのです。他の環境では、このパラメータを付けていても問題ないのですけどね。
$url = "http://search.twitter.com/search.json?q=" . urlencode("キーワード") . "&rpp=20&lang=ja";
↓
$url = "http://search.twitter.com/search.json?q=" . urlencode("キーワード") . "&rpp=20";
実際に、http://search.twitter.com/ にアクセスして、言語設定で「日本語(ja)」を選択すると同じ結果になり、「Any(all)」を選択するとうまく拾ってきます。
日本語のキーワードで検索する場合は、日本語の発言を拾う可能性が高いので、lang パラメータには all を指定しておくのが無難なのかもしれませんね。でも原因が解明されていないので引き続き調べてみます。
関連記事
上記の記事に関連する記事(最新の10件)です。
- Google Static Maps API version2
- EvernoteのAPIでアップロード容量を取得する
- EvernoteのPHPサンプルプログラムのプロキシ(Proxy)設定
- EvernoteのAPIサンプルプログラムの認証方式
- Twitterのbotを作ってみる(OAuth対応)
- EvernoteのAPIを利用する
- GoogleDocumentsListDataAPIのドキュメント(2)
- GoogleDocumentsListDataAPIのドキュメント(1)
- Twitterのbotを作ってみる(Basic認証)
- 楽天APIでアクセス制限(503 AccessForbidden)


