PHP

【PHP】TwitterOAuthを使ってツイートする方法(2020年版)

現在PHPの学習を行っており、その一貫としてTwitter風のアプリを開発しています。

今回は僕が作成しているTwitter風のWebアプリをTwitterと連携させるべく、TwitterOAuthを使用してPHPからTwitterに投稿する方法を紹介します。

Twitterとの連携で実現したいこと

Twitterとの連携で実現したいことは以下の通りです。

  • Twitterでログインできるようにする
  • 投稿内容をTwitterにも同時に投稿できるようにする
  • あるハッシュタグのデータを集計して収支結果を出力する

の3点になります。

今回はその中でお投稿内容をTwitterに同時に投稿できるようにするための、PHPからTwitterへの投稿テストを行っていきます。

PHPからTwitterに投稿する手順

PHPからTwitterに投稿する手順は以下の通りです。

  1. Twitter APIに登録する
  2. Twitter APIからAPI Keyなどを取得する
  3. TwitterOAuthのインストール
  4. 実際に動作させてみる(サンプルPG有り)

順番に見て行きます。

Twitter APIに登録する

Twitter APIまずこれがないと始まりません。

これは前回のTwitter APIに登録する記事を書いているので、そちらを参照ください。

Twittter APIからAPI Keyなどを取得する

API KeyなどはTwitter APIに登録すると発行されますが、万が一忘れてしまったなどで再発行したい場合などもあるかと思います。

そんな時ようにTwitter APIのAPI Keyなどの再発行手順を紹介します。

  1. Twitterのデベロッパーページ(https://developer.twitter.com/en)にアクセスし、Dashboadを開く。
  2. Projects->Project1->Twitter API登録時に入力したアプリ名をクリックする。
  3. 画面中央上の方にある「Keys and tokens」をクリックする。
  4. 「API Key & Secret」の「Ragenerate」をクリックする。
  5. 「本当に再発行しますか?」的なことを聞かれるので、「Yes, regenerate」をクリックする。
  6. 「API Key」と「API Key secret」が発行されるので、メモしておきます。
  7. 「Access Token & Secret」の「Regenerate」をクリックします。
  8. 「本当に再発行するか?」聞かれるので、「Yed, regenerate」をクリックします。
  9. 「Access token」と「Access token secrete」が発行されるので、メモしてお
  10. これでAPI KeyやAccess Tokenの再発行は完了です。

ちなみにAPI KeyはTwitterAPIを使用するために必要なKey値となり、Access Tokenはユーザーアカウントにアクセスするために必要なものとなります。

なので、ここではTwitter APIを使用するためのKeyと自分のユーザーにアクセスするためのAccess Tokenを再発行したことになります。

TwitterOAuthのインストール

Twitter APIを使用するミドルウェアはいくつかありますが、僕は代表的なTwitterOAuthを利用しました。

TwitterOAuthはPHPのパッケージ管理ツールであるcomposerでインストールすることが可能です。

インストールコマンドは下記になります。

コマンドを実行するとcomposer.jsonに以下のような内容が記述されrます。


上記の例だとバージョン1.1がインストールされたことになります。

実際に動作させてみる(サンプルPG有り)

実際にTwitterに投稿するサンプルPGを下記します。

この場合、「PHPからのテスト送信」というTweetがされることになります。

プログラムから実際にツイートされた画像を見ると、僕がのアプリケーションである「katwibo」から送信されていることが分かります。

まとめ

今回はTwitter API、TwitterOAuthを使用してPHPからTwitterに投稿する方法を紹介しました。

この中で手間取ったのは

  • 前回の記事Twitter APIの登録
  • 発行したKeyをどのように使うか

ですね。

あとは実際に投稿する時に指定している引数の「statuses/update」が何なのかなど気になる点はありますが、追々調べて行きます。

とりあえずはツイートを投稿する時には指定しておけば良さそうです。

ABOUT ME
Jyu2
【PC1台で稼ぐブロガー兼Webエンジニアを目指し中】IT情報やWebサービス、アプリなどの情報を発信/SIerで10年以上勤務→ストレスMAXで休職中→ブログとWebの学習を行い脱サラ計画中/ #30DAYSトライアル 1st完了→2nd実施中 / 日々の学習内容をブログにアウトプット / まずは月収5万円を目指す