Twitter API (PHP) の、クイックスタート記事です。
もくじ
前提条件
- Twitterアカウントは所有済み
- Xserverを利用
- WordPress環境
- 独自ドメイン設定済み
- PHPからTwitter APIを利用する
もくじ
- Twitterのアカウントで電話番号認証を行う
- Twitter API のアカウントを手に入れる
- API Key等を手に入れる
- Xserver側で準備をする
- Twitter APIを動かす
Twitterのアカウントで電話番号認証を行う
https://twitter.com/settings/account の「電話」の項目から、電話番号を登録しておいてください。

Twitter API のアカウントを手に入れる
「2020年度版 Twitter API利用申請の例文からAPIキーの取得まで詳しく解説」を参照して、APIキーを入手してください。
私の場合は、必要情報を入力してすぐに申請許可のメールがTwitterから来ました。Twitterの利用実績を見られているような気がします。
API Key等を手に入れる
Twitter Developersに飛び、”Project & Apps” → (新規作成したアプリ) → “Keys and tokens” と推移してください。

“API Key & Secret”の項目の”View Keys”をクリックし、表示される“API key”と“API key secret”をメモします。
“Access Token & Secret”という項目もあるはずなので、”Generate”をクリックし、“Access Token”と“Access Secret”をメモします。
“Bearer Token”は、今回は使いません。
Xserver側で準備をする
TwitterのAPIは、接続の際に上記のKey等を利用して (面倒な) 認証をしないといけません。Xserverでも準備が必要です。
Xserverのサーバーパネルにアクセスして、SSH設定をクリックしてください。

「ONにする」をチェックし、「設定する」をクリックです。

「公開鍵認証用鍵ペアの生成」をクリック、適当なパスワード(これは後で使うのでメモしておいてください)を入力し、「確認画面へ進む」をクリックです。遷移後の画面で「生成する」をクリックしてください。
そうすると、”xxx.key”というファイルがダウンロードされるはずです。後で使うので、分かりやすいようにデスクトップに保存しておいてください。

今度は、サーバーパネルのサイドパネルから「パスワード情報」へ飛び、「サーバーID」をメモしてください。

サーバーパネルのサイドパネルから「サーバー情報」へ飛び、「ホスト名」をメモしてください。

Windows Keyを押して”cmd”と入力し、コマンドプロンプトを開いてください (Macを使用している方は、代わりにcmd+space keyから”Terminal”を開いてください)。

コマンドプロンプトに、下記コマンドを入力してください。
> ssh [サーバーID]@[ホスト名] -i [xxx.key] -p 10022 # 具体例は下記の通り # > ssh takumablog@sv7777.xserver.jp -i ./Desktop/takumablog.key -p 10022 # macの場合は、上記sshコマンドの「前に」下記コマンドも入力 # > chmod 600 [xxx.key]
成功するとパスワードを求められるので、「公開鍵認証用鍵ペアの生成」ステップでメモしたパスワードを入力してください。ログイン後、下記のコマンドを入力します。
$ cd [独自ドメイン名]/public_html # 具体例は下記の通り # $ cd takumablog.com/public_html
そして、Twitter APIの認証をしてくれるソフトを入れます。下記コマンドを実行して、処理が終わるまで少しお待ち下さい。
$ composer require abraham/twitteroauth
処理が終了したら、下記コマンドでログアウトします。これで、Xserverの準備も完了です。
$ exit
Twitter APIを動かす
【WordPress】本文中に PHP を利用する方法に基づいて、PHPを書き込んでいきます。WordPressにログインして、「外観」→「テーマエディター」と進んでください。

「テーマのための関数」をクリックして、”<?php”の下の行に下記のプログラムを貼り付けます。
下記プログラム中のconsumerkey / consumersecret / accesstoken / accesstokensecretはダミーなので、「API Key等を手に入れる」ステップでメモしたものを入力してください(consumerkeyはAPI key、consumersecretはAPI key secretを利用してください)。
require_once($_SERVER['DOCUMENT_ROOT'] . "/vendor/autoload.php"); use Abraham\TwitterOAuth\TwitterOAuth; function getToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) { $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret); return $connection; } function sc_php($atts = array()) { shortcode_atts(array( 'file' => 'default' ), $atts); ob_start(); // ここからTwitter APIのプログラム ==== $twitteruser = "manabubannai"; //ツイート取得対象ユーザー名(変更可) $notweets = 3; //取得ツイート数(変更可) $consumerkey = "iiSrsafSF(8SDDF7b"; $consumersecret = "uhasdfSDLKJ98jhjdKSJHDF6sdf"; $accesstoken = "123456789-hkshfKJHskjdhfsdf"; $accesstokensecret = "plkLKSF9LKSJFdklkj(lksjdflkj"; $connection = getToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret); $tweets = $connection->get("statuses/user_timeline", ["screen_name" => $twitteruser, "count" => $notweets]); echo $tweets[0]->text . "<br><br>"; echo $tweets[1]->text . "<br><br>"; echo $tweets[2]->text . "<br><br>"; // ここまでTwitter APIのプログラム ==== return ob_get_clean(); } add_shortcode('sc', 'sc_php');
その後、「ファイルを更新」してください。ここで間違えるとWordPressが動かなくなったりするので、(スペース/タブ等に)注意して、自己責任でお願いします。

(動かなくなった際には、先述のSSHでサーバーにリモートログインして、”/home/[サーバーID]/[独自ドメイン名]/public_html/wp/wp-content/themes/stinger8/functions.
php”を気合で修正してください)
ここまでで、準備は全て完了です。個別の記事に下記の”[ ]”で囲われた記述を入れ込むと、それがショートコードとして認識され、記事公開時にプログラムが実行されます。下記に画像の通りショートコードを入れているので、以下に@manabubannaiさんの最新ツイートが3つ表示されているはずです。

==== ここからショートコード/プログラムの実行結果 ====
よし、本日の労働完了😌 よく働きました。もうちょい働きたいですが、もう夜なので休憩します。お疲れさまでした個人の時代がくると言われていましたが、最近は変化を感じる😌 2年前だと、個人が商品を売るだけで、Twitterで炎上してました。僕も炎上して、多くの人に「法人化にしたら炎上しないし、コスパ良いよ」と言われました。しかし本質的じゃな… https://t.co/HUWs7Sshzt
よし、午後の労働をします😌 最近は上場企業のSEOコンサルをしており、社名を出してしまうと「NTTデータ」です。大きな企業ですよね。僕みたいなフリーランスが受注できるのは、時代が変わってきた証拠だと思う。というわけで、全力で案件に… https://t.co/WIEUkSh8BJ
==== ここまでショートコード/プログラムの実行結果 ====
お疲れ様でした。Twitter API クイックスタートはこれで終了です。もう少し違うことをしてみたい方は、Twitter API Documentationも参照してみてください。