【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

TwitterOAuthをダウンロード

TwitterOAuthライブラリを、以下のいずれかの方法でダウンロードします。

composerでダウンロードする場合

PHPライブラリの依存関係を管理するcomposerで、TwitterOAuthライブラリをダウンロードする場合、以下のコマンドとなります。

composer require abraham/twitteroauth

zipファイルでダウンロードする場合

TwitterOAuthライブラリをzipファイルでダウンロードする場合、以下のリンク先から「twitteroauth-master.zip」をダウンロードし解凍します。

GitHub - abraham/twitteroauth

TwitterOAuthライブラリを読み込みインスタンスを作成

TwitterOAuthライブラリを利用するには、まず、任意のPHPファイルを作成し、以下のソースコードを記述します。

ソースコード内のrequire文で読み込んでいる autoload.phpのパスは、ダウンロードしたTwitterOAuthライブラリの配置によって異なるので、自身のTwitterOAuthライブラリのautoload.phpのパスを確認して指定します。

また、xxxxxxxxとなっている箇所は、Twitter APIの認証情報をそれぞれ指定します。

// TwitterOAuthライブラリを読み込み
require '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で返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はこちらから。

また、コメントは承認制となります。