【PHP】Twitter APIの利用例|ツイート・「いいね」・フォロー・リムーブなど|TwitterOAuth

今回は、PHPからTwitterのREST API を操作できるTwitterOAuthライブラリの利用方法・利用例となります。
TwitterOAuthライブラリを利用する準備
まず、TwitterOAuthライブラリを利用するために、以下の準備を行います。
Twitter APIの認証情報を確認
Twitter DevelopersにAPIを利用するTwitterアカウントでログインし、以下のTwitter APIの認証情報を確認します。
- Consumer Key
- Consumer Secret
- Access Token
- Access Token Secret
ComposerでTwitterOAuthライブラリをインストール
PHPライブラリの依存関係を管理するComposerでTwitterOAuthをインストールするため、プロジェクト内のComposerを配置するディレクトリにcdコマンドで移動し、以下のコマンドを実行します。
composer require abraham/twitteroauth
ComposerをMacで利用する方法については、以下のリンク先を参考にしてみてください。
また、Composerを利用しないインストール方法については、以下のページを参考にしてみてください。。
TwitterOAuthライブラリを読み込み
インストールしたTwitterOAuthを利用するには、任意のPHPファイルを作成し、以下のソースコードを記述します。
// TwitterOAuthを利用するためComposerのautoload.phpを読み込み
require __DIR__ . '/vendor/autoload.php';
// TwitterOAuthクラスをインポート
use Abraham\TwitterOAuth\TwitterOAuth;
// Twitter APIを利用するための認証情報。xxxxxxxxの箇所にそれぞれの情報をセット
$CK = 'xxxxxxxx'; // Consumer Keyをセット
$CS = 'xxxxxxxx'; // Consumer Secretをセット
$AT = 'xxxxxxxx'; // Access Tokenをセット
$AS = 'xxxxxxxx'; // Access Token Secretをセット
// TwitterOAuthクラスのインスタンスを作成
$connect = new TwitterOAuth( $CK, $CS, $AT, $AS );
TwitterOAuthライブラリの利用例
上記ソースコードにより、作成したTwitterOAuthのインスタンスを利用して、Twitter APIのリクエストを行えます。
以下は、それぞれのTwitter APIのリクエスト例となり、上記ソースコード後に記述します。
ツイートをする例
以下、ツイートを投稿する例となり、xxxxxxxxの箇所に投稿したいツイートを記述します。
$tweet = 'xxxxxxxx';
$result = $connect->post(
'statuses/update',
array(
// 投稿するツイートを指定
'status' => $tweet
)
);
リクエストパラメータやレスポンスデータなどの詳細については、以下のリンク先を参考にしてみてください。
POST statuses/update — Twitter Developers
ツイートを「いいね」する例
以下、ツイートを「いいね」する例となり、xxxxxxxxの箇所にツイートIDを指定します。
$id = 'xxxxxxxx';
$result = $connect->post(
'favorites/create',
array(
'id' => $id
)
);
リクエストパラメータやレスポンスデータなどの詳細については、以下のリンク先を参考にしてみてください。
POST favorites/create — Twitter Developers
フォローしているユーザーIDを配列で取得
以下、フォローしているユーザーIDを配列で取得する例となります。
// フォローしているユーザーIDを含むオブジェクトを取得
$friends = $connect->get( 'friends/ids' );
// オブジェクト内のユーザーIDの配列を取得
$friends_ids = $friends->ids;
リクエストパラメータやレスポンスデータなどの詳細については、以下のリンク先を参考にしてみてください。
GET friends/ids — Twitter Developers
フォロワーのユーザーIDを配列で取得
以下、フォロワーのユーザーIDを配列で取得する例となります。
// フォロワーのユーザーIDを含むオブジェクトを取得
$followers = $connect->get( 'followers/ids' );
// オブジェクト内のユーザーIDの配列を取得
$followers_ids = $followers->ids;
リクエストパラメータやレスポンスデータなどの詳細については、以下のリンク先を参考にしてみてください。
GET followers/ids — Twitter Developers
アカウントをフォローする例
以下、アカウントをフォローする例となり、xxxxxxxxの箇所にフォローするアカウントのユーザーIDを指定します。
$user_id = 'xxxxxxxx';
$result = $connect->post(
'friendships/create',
array(
// フォローするユーザーIDを指定
'user_id' => $user_id
)
);
リクエストパラメータやレスポンスデータなどの詳細については、以下のリンク先を参考にしてみてください。
POST friendships/create — Twitter Developers
アカウントをリムーブする例
以下、アカウントをリムーブする例となり、xxxxxxxxの箇所にリムーブするアカウントのユーザーIDを指定します。
$user_id = 'xxxxxxxx';
$result = $connect->post(
'friendships/destroy',
array(
// リムーブするユーザーIDを指定
'user_id' => $user_id
)
);
リクエストパラメータやレスポンスデータなどの詳細については、以下のリンク先を参考にしてみてください。
POST friendships/destroy — Twitter Developers
エラー処理をする例
以下、APIリクエストの成功・失敗を分岐する例となります。
if( $connect->getLastHttpCode() == 200 ){
// APIリクエストが成功時の処理
}else{
// APIリクエストがエラー時の処理
}
その他のTwitter API
その他にもTwitter で利用できるAPIはあります。詳しくは以下のリンク先や、文末にある参考サイト内を確認してみてください。