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;?>

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


2022-01-18 18:02
RT @keeeiko_chor: パナムジカの35周年記念グッズをいただきました、へへ https://t.co/kl3tPyX08R https://t.co/fpEIKxcJMZ
2022-01-18 18:00
【35周年記念オンラインセミナー】 世界の音楽出版社シリーズ第五弾「音楽之友社」の受講受付を開始しました! 合唱指揮者・清水敬一先生を講師としてお迎えし、三善晃作品の魅力を語っていただく他、編集の服部純也さんには今後の企画展望等… https://t.co/4hQ3aeMs61
2022-01-07 19:13
写真をご投稿いただきありがとうございます♪ バッグとキーホルダーの色合いがマッチしていて、とても素敵ですね✨ ここだけの話ですが...こちらのカレンダー、皆様にお送りする分を追加でご用意いたしましたので、10,000円以上のご注… https://t.co/rBTLYvg8tc
2022-01-07 19:05
グッズ写真のご投稿、誠にありがとうございます😊 https://t.co/BQvFWctLMX
2022-01-07 19:00
【New Arrival!】 新年一発目は、日本国内でもよく演奏されているナーヴァルードの混声合唱作品3点と、先日紹介したところ反響の大きかったポーラス作曲「The Road Home」の男声&女声版のご紹介です♪… https://t.co/xECJenNzpd
2022-01-07 18:02
【Pre-order】 [CD]三善晃の世界 CANTUS ANIMAE× Choeur Chene×Combinir di Corista×MODOKI 2021年10月に開催された4団体ジョイントコンサートの模様を収録したC… https://t.co/h76Yf6JoAS
2022-01-05 18:28
【Information】 弊社HPにてご案内しておりました通り、1月7日(金)より「送料無料となるお買い上げ金額の条件」を下記の通り改定させていただきます。  ■改定前 3,000円(税込)以上お買い上げで送料無料 ■改定後… https://t.co/EpHGm1cwHM
2022-01-04 19:55
RT @E_PanaMusica: パナムジカ35周年記念出版プロジェクト #一緒につくるクリスマスの歌 の第1弾「あなたの言葉」募集は、いよいよ明日1/5締切です! まだ間に合いますので、ぜひぜひご応募ください♪ https://t.co/00ls30GBdR
2022-01-04 19:51
35周年記念オリジナルグッズ“レザーキーホルダー”も、本日より皆様に発送させていただいております✨ 是非カバンや鍵、ペンケースなどに付けて『合唱愛』をアピールしてください💖 皆さんがツイートされたグッズ写真もいつも嬉しく拝見して… https://t.co/QLfRZOHsK1
2022-01-04 19:39
明けましておめでとうございます。 本年もどうぞよろしくお願いいたします🐯 年末年始に開催しておりました“100均セール”や“CD福袋”などにも多数のご反響をいただきありがとうございました♪ 頂戴しましたご注文につきましては順次… https://t.co/qqy4GcXDt3
2021-12-29 18:25
【キャンペーン⑤】 ◤悩んだらここをチェック!          スタッフオススメ35選🎉◢ パナムジカスタッフがおすすめ商品をセレクト!! 春までに読んでおきたい書籍、なかなか手に入らない教育音楽バックナンバーをそれぞれ35点… https://t.co/shbEL6pezt
2021-12-29 18:23
【キャンペーン④】 ◤対象商品10%オフ!  2022年メモリアルコンポーザー特集🎉◢ 来る2022年にメモリヤル・イヤーを迎える有名作曲家たちの中から、今年は“7名”をピックアップ! 彼らの作品や関連CDの内一部商品を期間中1… https://t.co/apFyuTXxcX
2021-12-29 18:19
【キャンペーン③】 ◤何が入っているかは       届いてからのお楽しみ♪             CD福袋🎉◢   毎年発表後即完売となるなど、大好評のCD福袋が今年も登場です。今回も魅力的な5種類をご用意。何が入っているか… https://t.co/cECMm6sidv
2021-12-29 18:18
【キャンペーン②】 ◤創業35周年にちなんで・・・  対象商品350点!輸入楽譜100円均一  &特選CD35タイトル半額セール!🎉◢ 虎も思わず三度見して驚くような超特価セール開幕🐯🐯🐯 大掃除など大変お忙しいかと思いますが、… https://t.co/XHyCb6fzA0

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