【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を利用しないインストール方法については、以下のページを参考にしてみてください。。

GitHub - abraham/twitteroauth

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はあります。詳しくは以下のリンク先や、文末にある参考サイト内を確認してみてください。 

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは、項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

Twitterで返信する場合はこちらから。