【Twitter API】検索結果から投稿IDを取得するPHPスクリプトの例|TwitterOAuth

今回は、PHPのTwitterOAuthライブラリでTwitter APIを利用し、投稿の検索結果を取得して、その情報の中から投稿IDを配列にセットする例となります。

TwitterOAuthを利用し、検索結果から投稿IDを取得する例

例では、コマンドラインからPHPスクリプトを実行して、投稿の検索結果を取得し、その情報の中から投稿IDを配列にセットします。

Twitter APIの認証情報を確認

APIを利用するTwitterアカウントで Twitter Developers にログインし、追加したAppの「Keys and tokens」画面で、以下の認証情報を確認します。

  • Consumer Key 
  • Consumer Secret
  • Access Token
  • Access Token Secret

TwitterOAuthをComposerでインストール

まずは、プロジェクトのフォルダを作成します。

そして、ComposerでTwitterOAuthをインストールするため、プロジェクトのルートディレクトリにcdコマンドで移動し、以下のコマンドを実行します。

composer require abraham/twitteroauth

PHPライブラリの依存関係を管理するComposerをMacで利用する方法については、以下のリンク先を参考にしてみてください。

また、Composerを利用しないインストール方法については、文末の参考サイトを確認してみてください。

検索結果の投稿IDを配列にするPHPスクリプト

プロジェクトのルートディレクトリにPHPファイルを作成し、以下のソースコードを記述します。コード内のxxxxxxxxの箇所には、確認したTwitter APIの認証情報をそれぞれ指定します。

また、Twitter API v2. を利用する場合には、TwitterOAuthクラスのインスタンスに対してsetApiVersion('2') を呼び出します。

例では、スクリプトを実行すると、指定したキーワードで投稿を10件検索し取得します。そして、取得した投稿情報のオブジェクトの中から、投稿IDを配列に格納します。

// TwitterOAuthを利用するためComposerのautoload.phpを読み込み
require __DIR__ . '/vendor/autoload.php';
// TwitterOAuthクラスをインポート
use Abraham\TwitterOAuth\TwitterOAuth;

// Twitter APIを利用するための認証情報。xxxxxxxxの箇所にそれぞれの情報をセット
const TW_CK = 'xxxxxxxx'; // Consumer Keyをセット
const TW_CS = 'xxxxxxxx'; // Consumer Secretをセット
const TW_AT = 'xxxxxxxx'; // Access Tokenをセット
const TW_ATS = 'xxxxxxxx'; // Access Token Secretをセット

// TwitterOAuthクラスのインスタンスを作成
$connect = new TwitterOAuth( TW_CK, TW_CS, TW_AT, TW_ATS );
// Twitter API v2. を利用する場合
// $connect->setApiVersion('2');

$statuses = $connect->get(
    'search/tweets', 
    // 取得する投稿の条件を配列で指定
    array(
    	// 検索キーワード
        'q'                 => 'xxxxxxxx',
        // 投稿件数
        'count'             => '10',
        // 投稿の言語
        'lang'              => 'ja',
        // 投稿した地域
        'locale'            => 'ja',
        // 投稿のタイプをrecent(最新のみ)、popular(人気のみ)、mixed(最新・人気)で指定 
        'result_type'       => 'recent',
        // 取得するオブジェクトにentities含めるかを、true(含める)、false(含めない)で指定
        'include_entities'  => 'false'
    )
);

// 投稿IDを格納する変数
$id_list = [];
// 取得した投稿情報のオブジェクトから、投稿IDを取得し配列$id_listに格納
foreach( $statuses->statuses as $tweet ){
    $id = $tweet->id;
    array_push( $id_list, $id );
}

コマンドラインから作成したファイルを実行するには、ファイルのあるディレクトリに移動して、次のコマンドを実行します。

php ファイル名

TwitterOAuthの利用方法について

TwitterOAuthの利用方法の詳細は、以下のリンク先を参考にしてみてください。

また、例で利用した以外のリクエストパラメータ・レスポンスデータなどは、文末の参考サイトを確認にしてみてください。

参考サイトなど

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

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

また、多忙によりコメントには返信できない場合があります。

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