AmazonEC2サーバーでTwitterのAPIを呼び出すと
どうしてもBad Requestになってしまう問題で、少し先に進んだので記載しておくことにする。
$twitter_api_url = ‘http://search.twitter.com/search.atom?rpp=’.$count.’&page.$page;
$ch = curl_init($twitter_api_url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, ‘LocalChirps.com’);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$twitter_data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpcode != 200)
{
//echo ‘error calling twitter’;
return;
}
海外サイトを検索してヒントを得ました。
curl_setopt($ch, CURLOPT_USERAGENT, ‘LocalChirps.com’);
を呼び出す?
‘LocalChirps.com’をUAにするひつようがある理由がいまいちわからない。
試しに
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT’]);
としてみた。
OKでした。自分のUAでも大丈夫でした。
APIでBadRequestの場合、正しい要求が行っていないということで
http://php.net/manual/ja/function.curl-setopt.php
上記の転送オプションを調整してみてもよいかもしれないです
メルマガ登録をお願いします。
素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。