composerでTwitterのoauthライブラリを利用しタイムラインを取得する

Twitter APIを使って、あれこれ条件を指定してタイムラインを取得するためには、いくつかの準備が必要です。

  1. TwitterのDeveloper Accountを登録する
  2. アプリを作成してAPIキーを取得する
  3. サーバーにcomposerをインストールする
  4. 「abraham/twitteroauth」ライブラリを導入する
  5. APIキーとoauthライブラリを使ってタイムラインを取得するphpコードを作成する
  6. WordPressで、そのphpコードを表示できるようにする
1.TwitterのDeveloper Accountを登録する

TwitterのDeveloper account登録をしてみる」を参照のこと。

2.アプリを作成してAPIキーを取得する

こちらのページなどを参考に、アプリケーションを作成します。英文で申請しなければならない(短文ですが)ので、例文も参考にしてください。

私の場合、アプリを使ってログインしたりTwitterに投稿したり、ということはせず、あくまでタイムラインを取得するだけなので、アプリケーションのAccess permissionは「Read-only」にしました。

アプリ作成後に「Keys and tokens」タブをクリックすると、Consumer API keys (Consumer Key & Consumer Secret)とAccess token & access token secretが取得できます。

3.サーバーにcomposerをインストールする

さくらサーバーにcomposerをインストールするには、こちらを参考にしました。

4.Oauthライブラリの導入

サーバーにSSH接続して、ライブラリをインストールしたいディレクトリに移動したあと、以下のコマンドを実行します。composerをインストールしたディレクトリと異なる場合には、「/home/アカウント/composer.phar」みたいにcomposerまでのパスを書いてやればいいと思います。

php composer.phar require abraham/twitteroauth
5.phpコードの作成

以下のようなコードを作成してみます。

<?php
// TwitterOAuthライブラリを読み込み
require 'vendor/autoload.php';
// TwitterOAuthクラスをインポート
use Abraham\TwitterOAuth\TwitterOAuth;

//Developer Accountで作成したアプリのAPIキーを代入
$consumer_key = '***************'; 
$consumer_secret = '***************';
$access_token = '***************';
$access_token_secret = '***************';

// TwitterOAuthクラスのインスタンスを作成
$connection = new TwitterOAuth( $consumer_key, $consumer_secret, $access_token, $access_token_secret ); 

// ユーザータイムラインを取得するためのオプション
$options = [
  'screen_name'=>'**********', //表示させるユーザーアカウント
  'count'=>'15', //取得するtweetの数
  'exclude_replies'=>'true', //リプライを除外する
  'include_entities'=>'true', //画像のurl等を含める
];

$tweets = $connection -> get('statuses/user_timeline',$options);

?>

これで、指定したユーザーのタイムラインの情報が取れます。foreachで回して、表示したい情報を取り出していけばOKです。

<?php foreach($tweets as $value): 

  $prof_image = $value -> user -> profile_image_url_https;// プロフィール画像のURL
  $createdAt = 	$value -> created_at;// 投稿時刻
  $media_url = 	$value -> entities-> media[0] -> media_url_https; // 添付画像のURL
  $user_id = 	$value -> user -> screen_name; 
  $text =       $value -> text; // 投稿本文($tweet_mode=expandedにしている場合はfull_text)
?> 

//ここに表示させたい内容を書いていく

<?php endforeach;?>

実際の作成例はこちらです。


2020-09-26 11:41
パナムジカでは珠玉のハーモニー発売記念「プラス・ワン・キャンペーン」を開催中! Vol.6~Vol.10から2枚以上ご購入でさらにもう一枚お好きな巻をプレゼント🤯(先着15名様) このCDを聴いて、さらに#珠玉のハーモニー キャン… https://t.co/mq7jWWtnsZ
2020-09-26 11:34
1987年~2018年の全日本合唱コンクール全国大会の演奏から選りすぐりの名演を5枚のCDに収録した #珠玉のハーモニー Vol.6~Vol.10が新発売! 発売を記念し、2枚以上購入でもう1枚お好きな「珠玉のハーモニー」をプレゼ… https://t.co/qfcdH7rBvv
2020-09-21 15:05
ご来店ありがとうございます😊 https://t.co/BRkrcjQUTK
2020-09-21 12:06
ご利用ありがとうございました🎶 https://t.co/23t1glfVqM
2020-09-19 17:11
RT @Kaori_Morita: 気合の素人 もりたかおり ウェブサイトを作りました! ユーザー目線を出来る限り追求しました! 権利関係がクリア出来る 歌詞なども作品ページに掲載しました! コロナ情勢で、初演がYouTubeにアップされたものも多くありますので、よろしくお…
2020-09-19 13:31
今週の新刊楽譜を更新しました。 https://t.co/C5wPglhjZj 信長貴富・土田豊貴・三宅悠太の新曲や、ラヴェルの器楽作品を無伴奏混声合唱に編曲した「メロディーズ・イン・ラヴェル」(上田真樹編曲)やユニークさが光る「… https://t.co/t1bvFK2npo
2020-09-15 17:43
RT @Baerenreiter: On this day in 1803 composer Franz. Xaver Sussmayer died in Vienna. The world has a lot to thank him for! https://t.co/x
2020-09-12 16:55
RT @Thavatter: 去年のカロスと響の演奏会CDが発売されてる。 https://t.co/z9E1wbgwEO https://t.co/8lDtPoW0EJ
2020-09-12 13:58
「山田和樹アンセム・プロジェクト 世界の国歌」 パナムジカ限定予約特典を発表してから続々ご予約を頂いております😆 まだ限定数には少し余裕がありますが、お早目のお申込みをおすすめします🎶 11月4日発売予定。今年の秋は東混… https://t.co/5qfEIWDTTc
2020-09-11 19:28
「山田和樹アンセム・プロジェクト 世界の国歌」@TokyoKonsei パナムジカ限定予約特典を発表します!! ででん、、、 でん、、 \山田和樹&信長貴富サイン入り楽譜/ 二人の直筆サインが入った日本の国家「君が代」(… https://t.co/i4n4hXyxit
2020-09-07 15:11
🙏無事開催祈願🙏 コンクール・イベント会場などで皆様にお会いできるよう願っております! https://t.co/sfk95KJ2Az
2020-09-05 12:28
バーンスタインファン必見! 株式会社コーラス・カンパニー@ChorusCompany主催のオンラインセミナーは、明日から全3回で開催。 受講者は後からセミナー動画を見返せるので、開催日に都合が悪くてもご参加いただけます。お申し込み… https://t.co/mXDuw2v4F2
2020-09-05 11:55
エリック・ウィテカー注目の新作"The Sacred Veil"(聖なるヴェール)のCDが発売! 親友であり多くの協働を重ねる詩人・シルベストリが、癌のため早逝した妻ジュリーとの日々を回想。二人の愛と葛藤、別離と鎮魂を合唱とピアノ… https://t.co/eiJDNCLwhk
2020-09-05 11:26
RT @kt195: 子供のプレゼントに良さそう https://t.co/StQqIyq8FG
2020-09-05 11:22
山田和樹「アンセム・プロジェクト 世界の国歌」 予約受付開始😆(11月4日発売予定) 世界206か国の国歌を東京混声合唱団@TokyoKonseiが現地語で新録音した前代未聞のプロジェクトが遂にベールを脱ぐ! 地球儀型のCD… https://t.co/YWyHRoIqid

さまざまなオプションや取り出せるデータはこちらを参照してください。