
Twitter APIの規約が変更になり、jetpackやWP to Twitterなど、WordPressとTwitterを連携するプラグインが利用できなくなっています。
ですので、現在ChatGPTを駆使して、似たような機能をphpで作れないかと試行錯誤しています。
最初の手順として、Twitter APIは必ず必要なため、APIを取得してphpでツイートするというのを試してみました。
Twitter APIでツイートしてみたいという方は、参考にしてみてください。
Twitter APIとは?

APIはApplication Programming Interfaceの略で、特定のソフトやアプリと情報のやり取りができるインターフェースのことを指します。
ですので、Twitter APIはそのままTwitterの情報や機能を扱えるインターフェースのことです。
Twitter APIを使えば、さまざまなプログラミング言語で、Twitterの機能を利用することが可能です。
Twitter APIを取得する方法

Twitter APIを取得するには以下の手順が必要です。
- Twitter アカウントの作成
- Twitter APIの使用例を入力
- プロジェクトの作成
- アプリケーションの作成
- アプリの権限を変更
- Keys and tokensの生成
Twitter アカウントの作成
Twitter APIを利用するにはTwitterのアカウントが必要です。
まずはTwitterにアクセスして、アカウント作成してください。
GoogleやAppleアカウント、またはメールアドレス、電話番号で登録が可能です。
Twitter APIの使用例を入力
Twitter APIを利用するためには、「どんなことに使用するのか」を入力する必要があります。
Twitterにログインした状態でデベロッパーページを開きます。
画面右上に「Create an App」というボタンがあるので、クリックします。

以下の表示が出るので、Applyをクリックします。

この内容は以下の通りです。(翻訳deepl)
You may continue managing your existing Apps but if you would like to create new Apps or use Twitter premium APIs, please apply for a developer account.
As a developer platform, our first responsibility is to our users: to provide a place that supports the health of conversation on Twitter. To continue to prevent misuse of our platform, we have introduced a few new requirements for developers.
既存のアプリの管理は継続できますが、新しいアプリの作成やTwitterプレミアムAPIの利用をご希望の場合は、開発者アカウントを申請してください。
開発者向けプラットフォームとして、私たちの第一の責任はユーザーに対するものであり、Twitterの健全な会話をサポートする場を提供することです。私たちのプラットフォームが悪用されるのを防ぐため、私たちは開発者向けにいくつかの新しい要件を導入しています。
次にプランを選択する画面が表示されます。
無料で使用するため、「Sign up for Free Account」をクリックします。

Developer agreement & policyの入力
ここでTwitter APIを何に使用するのか入力して、利用規約に同意します。

Describe all of your use cases of Twitter’s data and API
(TwitterのデータとAPIの使用例をすべて説明してください。)
この入力欄にAPIをどんな用途で使うのか、250字以上で説明します。
We are developing a function to link our blog to our Twitter account. For this purpose, we would like to use Twitter's API.
When a blog post is published, this function will automatically create a tweet containing relevant information and links and post it from our official Twitter account. This will allow us to share new blog posts on Twitter immediately.
弊社のブログとTwitterアカウントを連携させるための機能を開発中です。そのために、TwitterのAPIを利用したいと考えております。
ブログ記事が公開された際に、自動的に関連する情報とリンクを含むツイートを作成し、当社の公式Twitterアカウントから投稿する機能です。これにより、ブログの新着記事を即座にTwitter上で共有することができます。
以下3点を確認してチェックを入れます。
- You understand that you may not resell anything you receive via the Twitter APIs
(利用者は、Twitter APIを通じて受け取ったものを転売してはならないことを理解するものとします。) - You understand your Developer account may be terminated if you violate the Developer Agreement or any of the Incorporated Developer Terms
(利用者は、利用者がデベロッパー規約や開発者規約に違反した場合、 利用者のデベロッパーアカウントが停止される可能性があることを理解するものとします。) - You accept the Terms & Conditions(利用規約に同意する)
全て入力できたら右下のsubmitをクリックして完了です。
プロジェクトの作成
おそらく上記のDeveloper agreement & policyを入力してからダッシュボードに移動した方は、自動で「Default project」というプロジェクトとアプリが作成されています。
その場合、ここの手順は必要ありません。
「User authentication settings」に進んでください。
プロジェクトが作成できていない方は、ここでプロジェクトを作成する必要があります。
デベロッパーページのダッシュボードに移動するので、「Projects & Apps」から「Overview」を開いてください。

Overviewを開いたら、Add Projectをクリックします。

それぞれ必要事項を入力していきます。
①Project name
ここではプロジェクト名を入力します。
例)TweetBlog Connect
入力したら右下のNextをクリックします。
②Use case
Twitter APIを何に使うかプルダウンメニューから選択して、Nextをクリックします。
※翻訳したもの

③Project description
プロジェクトの説明を入力します。
上記と同じものですが、以下のような説明を入力してNextをクリックします。
We are developing a function to link our blog to our Twitter account. For this purpose, we would like to use Twitter's API.
When a blog post is published, this function will automatically create a tweet containing relevant information and links and post it from our official Twitter account. This will allow us to share new blog posts on Twitter immediately.
これでプロジェクトの作成は完了です。
アプリケーションの作成
次にアプリケーションを作成していきます。
プロジェクトを作成すると自動的にアプリケーション作成画面に飛びます。
もし画面が切り替わらない場合は、作成したプロジェクト名から「Add App」をクリックします。

①App name
ここではアプリケーションの名前を入力してNextをクリックします。
例)TweetSync
同じ名前は使えないようなので、もし右上に以下の警告が出たら名前を変えてみてください。

②keys & tokens
アプリケーションが作成され、API Keyが表示されます。
プログラミングなどでTwitterを動かすときに、このAPI Keyが必要です。
スクリーンショットやメモするなどして、保管しておきましょう。

アプリの権限を変更
Twitter APIを使ってツイートをするには、権限を変更する必要があります。
アプリケーションを作成するとApp detailsからUser authentication settingsに行けるのでEditを開いてください。

App permissions
ここではアプリケーションで行える操作の許可を変更できます。
デフォルトだとReadしかできないので、Read and writeを選択します。

Type of App
ここはアプリの種類を選ぶ項目です。
私は記事投稿を自動化するのが目的なので「Web App, Automated App or Bot」を選択します。

App info
ここでは「Callback URI / Redirect URL」と「Website URL」を入力します。
Callback URIはAPIを使った処理が終わったあとにリダイレクトさせたいURLを入力します。
Website URLはそのまま自分が持っているサイトやブログです。
私はこのブログのURLを入力しましたが、Chat GPTによるとツイッターのプロフィールページなどでも問題ないそうです。
入力が終わったら右下にあるSaveをクリックすれば、設定が保存されます。
Keys and tokensの生成
Twitterを動かすために必要なAPI KeyやTokenを取得します。
デベロッパーページのダッシュボードに移動するので、左のメニューから「Projects & Apps」を開き、作成したアプリ名をクリックします。

アプリの詳細ページが開かれるので、上部にある「Keys and tokens」をクリックします。
ここでConsumer KeysとAuthentication Tokensが取得できるので、それぞれ「Regenerate」をクリックして、表示されるkeyとtokenをメモしておきます。

Twitterを操作するのに必要なものは以下4つです。
- API Key
- API Key Secret
- Access Token
- Access Token Secret


これでAPI KeyとAccess Tokenの取得は完了です。
Twitter APIを使ってツイートしてみる

実際にphpでTwitter APIを使い、ツイートできるか試してみます。
phpの開発環境が整ってない方は、こちらの記事を参考に構築してみてください。
ChatGPTにコードを書いてもらう
phpのことが全くわからないのでChatGPTを活用します。
なお、ChatGPTの回答だけだと動かなかったため、以下の記事を参考にさせて頂きました。
テキストファイルに以下のコードを入力して、拡張子をphpにすれば、phpファイルが作成できます。
自分で修正が必要な部分に黄色アンダーラインを引いてます。
<?php
require_once 'path/to/vendor/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
// Twitter APIの認証情報
$consumer_key = 'your_api_key';
$consumer_secret = 'your_api_secret';
$access_token = 'your_access_token';
$access_token_secret = 'your_access_token_secret';
$connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$connection->setApiVersion("2");
// Twitterに投稿する内容
$result = $connection->post("tweets", ["text" => "APIのテスト"], true);
// Twitterの結果
if ($connection->getLastHttpCode() === 201) {
echo "ツイートが成功しました。";
} else {
echo "ツイートに失敗しました。";
}
path/to/vendor/autoload.php
ここにはTwitterOAuthというライブラリのパスを指定します。
別途ダウンロードが必要なため、後述します。
Twitter APIの認証情報
ここには上記で取得したAPI KeyやTokenを入力します。
シングルクォーテーション内をそれぞれ書き換えてください。
your_api_key | API Key |
your_api_secret | API Key Secret |
your_access_token | Access Token |
your_access_token_secret | Access Token Secret |
ツイートの内容
ここは任意ですが、ツイートする内容を変えたい場合は、「APIのテスト」の部分を変更してください。
Composerのインストール
Twitter APIの認証を、TwitterOAuthというライブラリで行います。
さらにこのTwitterOAuthをインストールするために、ComposerというPHPのパッケージ依存性管理ツールが必要です。
ですので、まずはComposerをインストールします。
以下のページから「Composer-Setup.exe」というリンクをクリックしてダウンロードしてください。
特に設定は必要ないため、全てNEXTで進めてインストールするだけです。
TwitterOAuthのインストール
XAMPPを使っている場合はhtdocsにTwitterOAuthをインストールします。
以下のパスを開きます。
C:\xampp\htdocs
フォルダの空白部分で右クリックして「ターミナルで開く」を選択します。

以下のコードを入力して実行します。
composer require abraham/twitteroauth

そうすると「vendor」というフォルダが作成され、中にTwitterOAuthのファイルがインストールされます。

インストールできたので、上記で紹介したコードのpathを書き換えます。
vendor内にあるautoload.phpを指定してください。
修正前)require_once 'path/to/vendor/autoload.php';
修正後)require_once ("C:/xampp\htdocs/vendor/autoload.php");
phpの実行
コードが完成したので、htdocsフォルダにttest.phpというファイルを作成し、上記のコードを実行してみます。
XAMPPを使用している方はApacheを起動して、「http://localhost/ttest.php」にアクセスするだけです。
しっかりツイートできれば「ツイートが成功しました。」と表示されます。

実際に私のTwitterにも投稿できていました。
APIのテスト
— イクリ (@ikuri_blog) June 22, 2023
Twitter APIを取得してphpでツイートする方法まとめ
今回はTwitter APIを取得してphpでツイートを試してみました。
- Twitter APIとは?
- Twitter APIを取得する方法
- API Keyを使ってTwitterを動かしてみる
Twitter APIを使うと、さまざまなプログラムでTwitterを操作できます。
またChatGPTを使えば、あまりプログラミングの知識がなくても、やりたいことを実現できる可能性があります。
実際に私はphpのコードがどんな処理をしているのかほぼわかっていませんが、Twitter APIを利用してツイートすることができました。
自分で書けなくても作れる可能性はあるので、プログラミングに興味がある方は、Twitter APIやAIなどを利用して、いろいろ挑戦してみてください。
コメント