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

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


2023-03-24 19:07
RT @tani_chor: こちらモルテン・シュルト=イェンセン氏が監修を務める大注目の新譜です! 混声四部を三部にすると当然ながら音を減らすことになるわけですが、合唱を知り尽くしたモルテンさんだからこそ、とても自然に聞こえるアレンジになっています。 変声期の中学生の指導…
2023-03-24 18:30
2023年は三善晃先生の生誕90年・没後10年の年です。 そんな年に先生の作品を演奏したい、という合唱団様も多いかと思われますので、作品一覧ページを作成・公開いたしました。 演奏会の候補曲探しに是非ご活用ください。 https://t.co/qbyWDgt1Ce
2023-03-24 18:08
いま多くの混声合唱団が直面する問題のひとつは男声、特にテノール不足ではないでしょうか? そんな合唱団のために、合唱界における重要なレパートリーをユニークな混声三部合唱で提供することでこの問題を解決しようという試み「SAM-Klan… https://t.co/umauHxuyVG
2023-03-24 17:44
【New Arrival!】 🎼ブルックナー宗教合唱曲集 来年生誕200年を迎える後期ロマン派の巨匠アントン・ブルックナーの宗教合唱曲集。 日本国内でもよく演奏される《Locus iste》《Christus factus es… https://t.co/qGL5O8vY1v
2023-03-24 12:19
RT @kyogei_herald: 🎶展示即売🎶 パナムジカさん ご出展!🎉 中2階エントランスホールにて展示即売を実施します。 🎼セミナーで実演する楽譜・音源 🎼合唱ピース 🎼合唱曲集 🎼各種CD など 多数そろえて、パナムジカさんとともに皆さまのご来場をお待ちしております…
2023-03-23 19:10
RT @TokyoKonsei: Nコンチラシ解禁されましたね〜🎶 東混、今年もコン・コン・コンサート開催いたします✨ 指揮に本山秀毅氏をお迎えし、コロナ禍で長らく実施できていなかった「くちびるに歌を」の合同演奏も今年は叶いそうです…‼️こちらは続報をお待ちください💓 6月4…
2023-03-17 15:08
声楽アンサンブルコンテスト全国大会が開催されているふくしん夢の音楽堂(福島県)にて、現在楽譜・読み物などの出張販売中です! 会場にお越しの皆様、是非ブースへお立ち寄りください♪ https://t.co/c3O4Y0okg9
2023-03-15 14:11
全男声合唱ファン垂涎🤤音楽之友社「グリークラブ・ソングセレクション」全3巻、遂に発売✨ ご予約いただきました皆様宛てに、現在順次発送作業をしております。お届けまで今しばらくお待ちください🎵 1⃣… https://t.co/Y8o0fvbrib
2023-03-11 16:39
【New Arrival!】 💿ザ・キングズ・シンガーズ“令和” 2019年(令和元年)7月に東京カテドラル聖マリア大聖堂で行われた「奉祝特別演奏会」の模様を収録したライブ盤。 一般には流通していないレア商品です✨ 数量限定です… https://t.co/yRXtzlVY4z
2023-03-11 10:45
#311を忘れない #あれから12年 群青 作詞:福島県南相馬市立小高中学校平成24年度卒業生(構成・小田 美樹) 作曲:小田 美樹 https://t.co/eUDbV1jVvF 指揮:小田 美樹 合唱:福島県南相馬市立小高中学校合唱部
2023-03-10 12:17
RT @TokyoCantat: 【公募合唱団 参加のみなさまへ】    楽譜の購入については、今回パナムジカさんのご協力をいただき、特設サイトが出来ました。 https://t.co/aRkiYqjipf こちらから入手してください。 事前練習詳細についてはまもなくご案内い…

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