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-07-24 17:05
作曲家・合唱指揮者の相澤直人先生絶賛!? 先日京都にて開催されたイベント“アルティ声楽アンサンブルフェスティバル2021”の中で先生がオススメされていた書籍2冊をこの度弊社でもお取り扱い開始いたしました! キャラ和声:… https://t.co/aUvrwQuMfW
2021-07-24 17:04
【新刊情報②】 相澤直人「明日はケロリとくるもんだ」 スッと入ってくる身近な言葉の中に、どこか大人の事情や捻り、スパイスを感じられる独特の世界をおしゃれな和音で表現。 ゆめの缶詰様による初演は、詩と音楽の表現もとても素敵で聴いてい… https://t.co/gVug93DnKR
2021-07-24 16:38
【新刊情報①】 カワイ出版よりピース譜2点出版!コンサートレパートリー、アンコールに是非♪ ★田中達也作曲 混声合唱曲「夕焼けパレード」 2021年7月 合唱団ひぐらし様初演 https://t.co/0dEnI67pdQ ★信… https://t.co/EVTiTINKiZ
2021-07-24 15:53
【メールマガジン 文字化けのお詫び】 15:00に配信いたしました「パナムジカ コーラス 《E》 ニュースレター No.1185」につきまして、お客さまの環境によって内容・文字が正しく表示されない箇所がございました。誠に申し訳ございません。
2021-07-24 13:48
数々の名作を生み続ける作曲家・新実徳英先生の、プロになるまでの半生や多くの指揮者たちとの“出会い”など様々なエピソードが満載の一冊「生きることが音楽!」の予約受付開始。 8月8日までのご予約限定!新実先生の直筆サイン&ご予約者様の… https://t.co/48xLme7pO2
2021-07-21 19:02
【Concert Information】 合唱団粋声(7月25日(日)/東京) 初めまして!粋声と申します。7/25(日)にタワーホール船堀大ホールにて演奏会を開催します。合唱に興味のない方こそ是非お越しください。合唱のイメージ… https://t.co/zQlDihYxI7
2021-07-21 18:59
【Event Information】 第36回宝塚国際室内合唱コンクール(7月24日(土)/兵庫) 合唱の原点といえる“少人数による室内合唱”の普及、また、音楽を通した国際交流の推進に資する目的で、1984年から開催されているコ… https://t.co/uD7jMHlB4f
2021-07-21 18:57
【Concert Information】 合唱団もんじゃ(7月22日(木)/オンライン配信) 田中達也先生の新作「シューティング・ゲーム」をメインに据えた、「もんじゃのやりたいこと」を詰め込んだ演奏会。ご自宅でおくつろぎになりな… https://t.co/qhrHBsTm6i
2021-07-20 18:06
7月23日(金)~9月5日(日)の間、東京2020オリンピック競技大会、パラリンピック競技大会の開催に伴い、開催地および周辺地域へのお荷物のお届けに遅延が生じる可能性がございます。 詳細につきましては弊社ホームページ内のお知らせ… https://t.co/H2O8J2vXX3
2021-07-17 18:34
明日の情熱大陸に、大人気YouTuberピアニスト、Cateen(かてぃん)こと角野隼斗さんがご出演されます。 彼に関係する音楽書籍2点、弊社でもお取り扱いしておりますよ🎹 ①「ピアノ習ってます」は武器になる… https://t.co/ADskxAaWLO
2021-07-17 12:34
本日紹介の作品につきまして、作曲家・森田花央里先生のご意向と出版社の登録情報変更にあわせ、弊社での情報も以下の通り修正いたしました。 前:混声合唱組曲「ジャポニズム&ジャズ」 後:Song Circle “Japonism an… https://t.co/DkMJ4oi5wf
2021-07-17 11:10
【新刊情報②】 田中達也先生の大人気曲『レモンイエローの夏』の無伴奏女声四部合唱版が出版されました。 コンサートはもちろん、合唱祭やアンサンブルコンテストのレパートリーとしてもオススメです。少人数での演奏にもぴったり!… https://t.co/J3uVGgfAKa
2021-07-17 11:05
【新刊情報①】 森田花央里「ジャポニズム&ジャズ」 日本民謡にジャズをミックス!かっこよく情熱的なアレンジに✨ https://t.co/OnFjE0ggbp 上田真樹「海を聴く」 『海潮音』(上田敏訳)と『新海潮音』(林望訳)… https://t.co/ASzo8USobG

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