• ベストアンサー

Twitter APIについて

PHP初心者です。 https://github.com/sizaki30/TwitterAppOAuth を使って https://syncer.jp/twitter-api-matome/get/statuses/user_timeline のようなものを作ることは可能でしょうか? 回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.2

こちらの回答を参考にどうぞ↓ http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13151645108 「OAuth 2.0」「Application only authentication」はかなり用途が限られている印象を受けます。従来の「OAuth 1.1a」方式の方が汎用性では優れています。 ・OAuth 2.0 … ログイン不要のサイトで、全体として情報を取得する場合に使う ・OAuth 1.1a … ログイン必須のサイトで、ユーザとして情報を取得したりツイートしたりする場合に使う 後者は前者にも転用できますが、前者は後者に転用できません。

bajeg
質問者

お礼

ごめんなさい。 いろいろ調べてみた結果、解決することが出来ました。 回答ありがとうございました。

bajeg
質問者

補足

返信遅くなり申し訳ありません。 回答者様のライブラリを使わせていただきました。 エラーが治すことが出来ないので教えていただきたいです。 <?php require_once ('TwistOAuth.phar'); // 4種のキーを指定 $ck = '*****'; $cs = '*****'; $at = '*****'; $as = '*****'; $screen_name = '*****'; try { $to = new TwistOAuth($ck,$cs,$at,$as);//OAuth認証 } catch(TwistException $e) { $error = $e->getMessage(); } $statuses = array(); //すべてのツイート用の配列 for($i = 0; $i < 1000; $i += 200) { $param = array('screen_name' => $screen_name, 'count' => '200'); if(isset($max_id)) { $param['max_id'] = $max_id; } try { $tmp_statuses = $to->get('statuses/user_timeline', $param); } catch (TwistException $e) { $error = $e->getMessage(); } if(count($tmp_statuses) == 0) { //取得件数0だったら終了 break; } else { //取得したツイートがあった時 $statuses = array_merge($statuses, $tmp_statuses); //配列の最後に追加 $max_id = $tmp_statuses[count($tmp_statuses)-1]->id - 1; //取得した最古のツイートのidを保存 }  foreach($statuses as $result){ echo "$result";  } } ?> エラー文 Catchable fatal error: Object of class stdClass could not be converted to string in C:\xampp\htdocs\php\search_tweet.php on line 38 です。 __________________________________ スクリーンネームを打ち込むスペースを作り打ち込み検索 ↓ ユーザーネーム、ツイート、ツイート時間 という風にするにはどのようにしたらいいですか?

その他の回答 (1)

回答No.1

twitterAPIのGET statuses/user_timelineを用いて、特定ユーザーのツイートを取得したいという事でしたら可能かと思います。 ライブラリのサンプルコードを見る限り、タイムラインの取得だけなら、以下で可能かと思います。 ※動作確認していないので、動作しなかったらすみません。 ※表示に関してはvar_dumpしてるだけです。 <?php require_once('TwitterAppOAuth.php'); // Consumer Key (API Key) $consumer_key = '***'; // Consumer Secret (API Secret) $consumer_secret = '***'; $connection = new TwitterAppOAuth($consumer_key, $consumer_secret); $params = array( 'user_id' => userのID, 'count' => 取得件数 ); $res = $connection->get('statuses/user_timeline', $params); $timeline = json_decode($res, true); var_dump($timeline); APIのパラメーターの詳細に関しては、以下をご確認ください。 https://dev.twitter.com/rest/reference/get/statuses/user_timeline

bajeg
質問者

お礼

コードまで載せていただきありがとうございました。 参考にさせていただきます

関連するQ&A