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

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


2021-01-26 12:36
昨日品切れとご案内しましたカワイ出版の混声合唱曲「君の川柳」(作曲:信長貴富)ですが、2月下旬の重版・再入荷予定となりました。 ご注文お申込みは引き続きWEBサイトにて承っております。お届けまで今しばらくお時間を頂戴しますが、何卒… https://t.co/3hTFCmOHAV
2021-01-25 17:56
先日発売されましたカワイ出版の混声合唱曲「君の川柳」(作曲:信長貴富)ですが、ご好評につき現在品切れ状態となっております。 重版時期等判明しましたら、こちらのアカウントでも改めてお知らせいたします。 https://t.co/OdMP4GuCkb
2021-01-24 10:36
RT @TokyoKonsei: 本日アンコールに演奏した「君の川柳」(信長貴富)は出版されております🎶こちらからどうぞ💁‍♀️ https://t.co/kINAChrNJw
2021-01-24 10:35
ご当選者様からお喜びの声をいただきました😆 ご応募誠にありがとうございました☺️ https://t.co/pcjhKSNUev
2021-01-23 13:01
【混声合唱組曲「あさきよめ」】 本日のメールマガジンでは、パナムジカ出版から出ている藤嶋美穂先生の既刊作品をご紹介! Twitter担当の私も大好きな「あさきよめ」を是非皆さんにも聴いてもらいたいので、終曲の動画URLも共有します… https://t.co/itgwzJRh6l
2021-01-22 19:34
【今週の新刊】 カワイ出版から楽譜3点と音楽之友社から教育音楽2月号が発売です! 森山至貴先生の「きみの胸の丘では」は強いメッセージ性を持った楽曲で、若い世代、大学の合唱団などに是非オススメしたい作品です!… https://t.co/vfT5Ww91YY
2021-01-22 19:10
【オンキョウ合唱ピース44冊セット登場!】 第1弾セット、第3弾セットもおかげさまで即日完売。再販売を希望する多くの皆様の声にお応えして、特別セット[第4弾]の登場です! 限定1セットのみのご用意となっておりますのでご注文はお早め… https://t.co/NAmXpfiNlE
2021-01-22 18:42
【発表!2020年版パナムジカ・ベストセラー】 毎年恒例となっております2020年版のベストセラーを発表しました! ※2020年のパナムジカ販売実績のみに基づくデータであり、市場全般の動向や作品の優劣をランク付するものではござい… https://t.co/6mtOphDrq4
2021-01-16 18:02
RT @PanaMusica_jp: 【嵐を弾くならこれで決まりっ♪】 嵐の楽曲から厳選された名曲たち計105曲を5冊に収めた公式ピアノソロ楽譜集が1月30日発売!現在ご予約受付中です。 発表会やおうち時間など、皆様それぞれの楽しみ方で楽曲たちを、 そして彼らの積み上げてきた…
2021-01-16 18:02
RT @PanaMusica_jp: 【今週の新刊】 栗友会合唱団の団員によって綴られた川柳366句を元に、信長貴富がテキスト構成・作曲した「君の川柳」が発売✨ 連続テレビ小説『おちょやん』主題歌「泣き笑いのエピソード」や、映画『STAND BY ME ドラえもん 2』主題歌「…
2021-01-15 17:53
【嵐を弾くならこれで決まりっ♪】 嵐の楽曲から厳選された名曲たち計105曲を5冊に収めた公式ピアノソロ楽譜集が1月30日発売!現在ご予約受付中です。 発表会やおうち時間など、皆様それぞれの楽しみ方で楽曲たちを、 そして彼らの積み… https://t.co/zwyzr8luno
2021-01-15 17:43
【紅白歌合戦の感動を再び・・・part2】 先週ご案内して大好評だった紅組編に引き続き、今回は白組編をご紹介!さらに1月16日配信のメールマガジンでは大人気グループ「嵐」によるその他の人気合唱譜も併せてご紹介します♪… https://t.co/XEbfFLKfoN
2021-01-15 17:39
【今週の新刊】 栗友会合唱団の団員によって綴られた川柳366句を元に、信長貴富がテキスト構成・作曲した「君の川柳」が発売✨ 連続テレビ小説『おちょやん』主題歌「泣き笑いのエピソード」や、映画『STAND BY ME ドラえもん 2… https://t.co/SgXjXNuR6p
2021-01-15 14:38
【紅白歌合戦の感動を再び・・・】 「第71回NHK紅白歌合戦」では、2020年を代表する楽曲や往年の名曲たちが披露され、多くの人々に感動を与えました。 そこで披露された楽曲からスタッフが特に“震えた”作品と、その合唱楽譜をピックア… https://t.co/ALMAK07eZk

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