PHP

PHPでTwitterのツイートを取得・表示する方法(OAuth認証 Twitter API 1.1)

ツイッターのタイムラインのXML提供が終了し、
OAuth認証で自分のつぶやきの取得するのに
苦戦したので、備忘録的にその際の設定を説明します。

①Twitterの登録
dev.twitter.com/apps

以下の4項目を取得
Consumer key
Consumer secret
Access token
Access token secret

②OAuthファイルの取得・格納
右ナビの[Download ZIP]からファイルをダウンロード
github.com/abraham/twitteroauth

以下のファイルをFTPに格納
OAuth.php
twitteroauth.php

③ツイートを表示するページにコードを記載

<!-- Twitter RSS GET -->
<?php
// twitteroauth.phpを読み込む
require_once("twitteroauth.phpファイルのパス");
// Consumer keyの値
$consumer_key = "該当コード";
// Consumer secretの値
$consumer_secret = "該当コード";
// Access Tokenの値
$access_token = "該当コード";
// Access Token Secretの値
$access_token_secret = "該当コード";
// OAuthオブジェクト生成
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
// home_timelineの取得。TwitterからXML形式が返ってくる
$req = $to->OAuthRequest("https://api.twitter.com/1.1/statuses/user_timeline.json","GET",array("count"=>"1"));
// Twitterから返されたJSONをデコードする
$result = json_decode($req);//echo print_r($result);
// foreachで呟きの分だけループする
foreach($result as $status){
      $status_id = $status->id_str; // 呟きのステータスID
      $text = $status->text; // 呟き
      $created_at = $status->created_at; //作成時間
      $user_id = $status->user->id_str; // ID(数字)
      $screen_name = $status->user->screen_name; // ユーザーID(いわゆる普通のTwitterのID)
      $name = $status->user->name; // ユーザーの名前(HNなど)
      //echo "<p><b>".$screen_name." / ".$name."</b> <a href=\"http://twitter.com/".$screen_name."/status/".$status_id."\">この呟きのパーマリンク</a><br />\n".$text."</p>\n";
}
$tweets = $text;//つぶやき
$date = $created_at;//ツイート時間
$date = strtotime($date);//時間のフォーマット化
$wgLocalTZoffset = +5400;
$date_form = "(" . date('m/d H:i',mktime(date('h',$date)+9,date('i',$date),0,date('m',$date),date('d',$date),0)) . ")";
?>
<!-- Twitter RSS GET -->

<参考>
Twitter API1.1でwebサービスを作ろう!入門チュートリアル
programmerbox.com/2013-07-16_twitter_api_1.1_tutorial/

PHPでOAuth認証して自分のつぶやきを表示する [Twitter API 1.1 対応版] | webOpixel
www.webopixel.net/php/666.html

-PHP