現在PHPの学習を行っており、その一貫としてTwitter風のアプリを開発しています。
今回は僕が作成しているTwitter風のWebアプリをTwitterと連携させるべく、TwitterOAuthを使用してPHPからTwitterに投稿する方法を紹介します。
目次
Twitterとの連携で実現したいこと
Twitterとの連携で実現したいことは以下の通りです。
- Twitterでログインできるようにする
- 投稿内容をTwitterにも同時に投稿できるようにする
- あるハッシュタグのデータを集計して収支結果を出力する
の3点になります。
今回はその中でお投稿内容をTwitterに同時に投稿できるようにするための、PHPからTwitterへの投稿テストを行っていきます。
PHPからTwitterに投稿する手順
PHPからTwitterに投稿する手順は以下の通りです。
- Twitter APIに登録する
- Twitter APIからAPI Keyなどを取得する
- TwitterOAuthのインストール
- 実際に動作させてみる(サンプルPG有り)
順番に見て行きます。
Twitter APIに登録する
Twitter APIまずこれがないと始まりません。
これは前回のTwitter APIに登録する記事を書いているので、そちらを参照ください。
Twittter APIからAPI Keyなどを取得する
API KeyなどはTwitter APIに登録すると発行されますが、万が一忘れてしまったなどで再発行したい場合などもあるかと思います。
そんな時ようにTwitter APIのAPI Keyなどの再発行手順を紹介します。
- Twitterのデベロッパーページ(https://developer.twitter.com/en)にアクセスし、Dashboadを開く。
- Projects->Project1->Twitter API登録時に入力したアプリ名をクリックする。
- 画面中央上の方にある「Keys and tokens」をクリックする。
- 「API Key & Secret」の「Ragenerate」をクリックする。
- 「本当に再発行しますか?」的なことを聞かれるので、「Yes, regenerate」をクリックする。
- 「API Key」と「API Key secret」が発行されるので、メモしておきます。
- 「Access Token & Secret」の「Regenerate」をクリックします。
- 「本当に再発行するか?」聞かれるので、「Yed, regenerate」をクリックします。
- 「Access token」と「Access token secrete」が発行されるので、メモしてお
- これでAPI KeyやAccess Tokenの再発行は完了です。
ちなみにAPI KeyはTwitterAPIを使用するために必要なKey値となり、Access Tokenはユーザーアカウントにアクセスするために必要なものとなります。
なので、ここではTwitter APIを使用するためのKeyと自分のユーザーにアクセスするためのAccess Tokenを再発行したことになります。
TwitterOAuthのインストール
Twitter APIを使用するミドルウェアはいくつかありますが、僕は代表的なTwitterOAuthを利用しました。
TwitterOAuthはPHPのパッケージ管理ツールであるcomposerでインストールすることが可能です。
インストールコマンドは下記になります。
1 |
$ composer.phar require abraham/twitteroauth |
コマンドを実行するとcomposer.jsonに以下のような内容が記述されrます。
上記の例だとバージョン1.1がインストールされたことになります。
実際に動作させてみる(サンプルPG有り)
実際にTwitterに投稿するサンプルPGを下記します。
この場合、「PHPからのテスト送信」というTweetがされることになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php // TwitterOAuthライブラリの読み込み require_once('vendor/autoload.php'); use Abraham\TwitterOAuth\TwitterOAuth; // 認証情報 $apiKey = '○○○'; // 発行したAPI Key $apiSecretKey = '○○○'; // 発行した API Key secret $accessToken = '○○◯'; // 発行した Access token $accessTokenSecret = '○○○'; // 発行した Access token secret // 接続 $twiConnct = new TwitterOAuth($apiKey, $apiSecretKey, $accessToken, $accessTokenSecret); // ツイート $res = $twiConnct->post("statuses/update", array("status" => "PHPからのテスト送信")); // レスポンス確認(エラーが発生した場合にエラーコードなどが見れる) var_dump($res); ?> |
プログラムから実際にツイートされた画像を見ると、僕がのアプリケーションである「katwibo」から送信されていることが分かります。
まとめ
今回はTwitter API、TwitterOAuthを使用してPHPからTwitterに投稿する方法を紹介しました。
この中で手間取ったのは
- 前回の記事Twitter APIの登録
- 発行したKeyをどのように使うか
ですね。
あとは実際に投稿する時に指定している引数の「statuses/update」が何なのかなど気になる点はありますが、追々調べて行きます。
とりあえずはツイートを投稿する時には指定しておけば良さそうです。