【Twitter API】自動ツイートをするPHPスクリプトの例|Twitter bot

今回は、PHPでTwitter APIを利用し、Twitterボットのようにランダムで自動ツイートする簡単な例となります。

【Twitter API × PHP】自動ツイートをする例

例では、PHPのTwitterOAuthライブラリでTwitter APIを利用し、指定した文字列の中からランダムでツイートするスクリプトを作成します。そして、そのPHPスクリプトをレンタルサーバーのcronから実行し、自動でツイートさせます。

Twitter APIの認証情報を確認

まずは、Twitter DevelopersにAPIを利用するTwitterアカウントでログインし、APIリクエストで必要となる以下の認証情報を確認します。

また、Twitterへ投稿する場合には、User authentication settingsの編集画面で、App permissionsの設定を「Read and write」にします。

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

TwitterOAuthをインストール

Twitter API を操作できるPHPのTwitterOAuthライブラリをインストールします。

今回の例では、以下のページから「twitteroauth-master.zip」をダウンロードし解凍します。

GitHub - abraham/twitteroauth

また、PHPライブラリの依存関係を管理するComposerでインストールする方法など、TwitterOAuthライブラリの利用方法の詳細は、以下のリンク先を参考にしてみてください。

ランダムでツイートをするPHPスクリプトを作成

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

例では、スクリプトを実行すると、指定した文字列の中からランダムでツイートをします。

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

<?php
// TwitterOAuthを利用するためautoload.phpを読み込み
require __DIR__ . 'twitteroauth-master/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');


// ツイートしたい文字列を配列にセット
$array = array(
        'tweet01',
        'tweet02',
        'tweet03'
);
// 配列をランダムにして、先頭を取得
shuffle( $array );
$tweet = $array[0];

// ツイートを投稿
$result = $connect->post(
    'statuses/update',
    array(
        'status' => $tweet
    )
); 

PHPファイルとTwitterOAuthライブラリをサーバーにアップロード

ダウンロードした「twitteroauth-master」フォルダと、作成したPHPファイルを、PHPとcronが利用できるサーバーにアップロードします。

今回の例では、サーバー内の同じディレクトリに、「twitteroauth-master」フォルダと、作成したPHPファイルをアップロードします。

PHPファイルをcronに設定

最後に上記で作成したPHPスクリプトのファイルを、サーバーのcron(クーロン)に設定します。それにより、作成したPHPスクリプトを定期的に実行できます。

cronの設定については以下のリンク先を参考にしてみてください。

GASで自動ツイートをする場合

PHPではなく、GASで自動ツイートをする方法については、以下のリンク先を参考にしてみてください。

PHPコードの説明

以下、例のソースコードの簡単な説明となります。

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

コード2行目からの以下の箇所では、TwitterOAuthのライブラリを読み込み、APIリクエストで利用するTwitterOAuthクラスのインスタンスを作成しています。

// TwitterOAuthを利用するためautoload.phpを読み込み
require __DIR__ . 'twitteroauth-master/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');

ツイートを投稿

コード19行目からの以下の箇所では、上記のインスタンスを利用してAPIリクエストを行い、指定したテキストのツイートを投稿しています。

// ツイートしたい文字列を配列にセット
$array = array(
        'tweet01',
        'tweet02',
        'tweet03'
);
// 配列をランダムにして、先頭を取得
shuffle( $array );
$tweet = $array[0];

// ツイートを投稿
$result = $connect->post(
    'statuses/update',
    array(
        'status' => $tweet
    )
); 

上記コードでは、ツイートしたい文字列を配列にセットし、shuffle関数で配列をランダムにして、先頭のみを取得しています。

shuffle関数の利用例などは、以下のリンク先を参考にしてみてください。

参考サイトなど

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

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

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

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