twitterへWebアプリ(PHP)から自動でつぶやきを投稿したい、という事でTwitterAPIとTwitterOAuthを使い、Webアプリから自動でつぶやくtwitterのbotを作成しました。
TwitterAPIを利用するには、twitterのアカウントを作成して連携アプリケーションの設定をする必要があります。
【Twitter連携アプリ】TwitterAPIを使ったWebアプリケーション作成に必要なことTwitterAPIを利用したシステムを作る事になり色々調べたのですが、TwitterAPIの古いVersion1.0の情報ばかりで新し...
準備が出来たらWebアプリからつぶやくPHPプログラムを作成しましょう。
とても簡単TwitterへつぶやくPHPプログラムの基本
文字列のつぶやき
//API KeyとAccess Tokenの設定
define( 'C_TWITTER_KEY_CK', '********************' ); //Consumer Key (API Key)
define( 'C_TWITTER_KEY_CS', '********************' ); //Consumer Secret (API Secret)
define( 'C_TWITTER_KEY_AT', '********************' ); //Access Token
define( 'C_TWITTER_KEY_ATS', '********************' ); //Access Token Secret
//「twitteroauth」読み込み
//autoload.phpはtwitteroauthに含まれているPHPファイル
require_once '/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
// TwitterOAuthオブジェクト生成
$toa = new TwitterOAuth(constant('C_TWITTER_KEY_CK'),constant('C_TWITTER_KEY_CS'),constant('C_TWITTER_KEY_AT'),constant('C_TWITTER_KEY_ATS'));
//つぶやく内容
$postMsg = "";
//投稿
$result = $toa->oAuthRequest("https://api.twitter.com/1.1/statuses/update.json","POST",array("status"=>$postMsg));
twitteroauthを読み込み、オブジェクトを作成し、投稿するだけです。
とっても簡単です。
画像のつぶやき
//画像をアップロード
$media_id = $toa->upload("media/upload", array("media" => "画像ファイルパス"));
//投稿設定
$parameters = array(
'status' => $postMsg,
'media_ids' => $media_id->media_id_string,
);
//投稿
$result = $toa->post('statuses/update', $parameters);
画像をツイッターにアップロードして、戻って来たID($media_id->media_id_string)を投稿内容と一緒に設定すれば、画像付きでつぶやく事ができます。
こちらも簡単ですね。
画像付きも文字だけのつぶやき同様、TwitterOAuthオブジェクトの生成まで行ってくださいね。
BOTを作るには
PHPプログラムの基本だけでは、つぶやきBOTにはなりません。
cronを使って自動でPHPプログラムを動かしてください。
プログラム内につぶやく内容を配列で書き込んでおくか、データベースにつぶやく内容を登録しておけば、Twitterにランダムでつぶやける簡単なBOTの完成です。
データベースやcronといった知識も必要ですが、是非チャレンジしておもしろBOTを作成してみてください。
参考にしたサイト
twitter botを作ってみる(第1回~twitteroauth導入編)
Twitter API1.1でwebサービスを作ろう!入門チュートリアル