プログラミング

Twitter API 使い方 PHP クイックスタート

投稿日:2020年10月8日 更新日:

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つ表示されているはずです。

==== ここからショートコード/プログラムの実行結果 ====

よし、メルマガ執筆完了です😌 20件くらい質問が届いていたので、丁寧に返信しました。返信内容は、明日のメルマガで送付となります。というわけで、先ほどまでサウナに入っていたのですが、またサウナに入ってきます。作業しつつ、サウナしつつ、作業。生産性が高いですね

不労所得は、わりと幻想です😌 教材などを売りたい人が、宣伝文句として「自動的に稼げる」といった言葉を使いますが、それは事実じゃない。常にサービスを改良しないと、競合に負けます。継続的にマーケティングをしないと、忘れ去られます。大切… https://t.co/kCza3qdnsv

🔽誰かの真似だけで動いてしまうと、成長速度が遅くなる話 https://t.co/j3Dl9JrIyA 本日は「色々な行動をしつつ、どういった工夫をしたら、成長速度が早くなるのか」といったテーマで話しています。僕が思うに、自分な… https://t.co/abryXwNb8v

==== ここまでショートコード/プログラムの実行結果 ====

お疲れ様でした。Twitter API クイックスタートはこれで終了です。もう少し違うことをしてみたい方は、Twitter API Documentationも参照してみてください。



-プログラミング
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です



関連記事

LINEで管理できるTODOソフトを自作する

TODO管理については、Google・Apple・Microsoftの超大手のアプリから、Todoist等の大手TODOアプリから、GTD等の方法論まで入り乱れています。 個人的にどれもしっくりこなか …

no image

WordPress functions.php 編集 エラー Tips

WorePressでfunctions.php を編集して動かなくなってしまったときの、対策Tipsです。 ssh/scp で接続して、functions.phpを直接編集します。 前提条件 Xser …

プロフィール

タクマ
−−−−−−−−

東南アジア(ミャンマー&フィリピン)でNW系システムインテグレーターとして6年ほど駐在していました。本を1500冊以上読んだり、プログラミングをしたりしています。嫁さんはタイ人で、タイ在住です。
ーー
Twitter (@tkm_nkmr)
ーー
Twitterまとめのまとめ
YouTube Find!
SNS Trends

−−−−−−−−