今回はtwitterで CapkePHP3からtweetする方法を紹介します。
このtwitteroauthというライブラリを使います。 https://github.com/abraham/twitteroauth
流れは以下のようになります。
- witter Appを作成し、アクセストークンを取得
- twitteroauthをcomposerでインストール
- Controllerからtweet
Twitter Appを作成し、アクセストークンを取得
このリンクから https://apps.twitter.com/ twitter Appを作成すると、
- Consumer Key
- Consumer Secret
- Access Token
- Access Token Secret
1.Create Newをクリック

2.必要な情報を入力
3.トークンの確認
作成が完了すると、 以下のような画面になるので、 Keys and access Tokenタブを選択し、
- Consumer Key
- Consumer Secret
- Access Token
- Access Token Secret

②twitteroauthをcomposerでインストール
compserを使って、 twitteroauthをダウンロードします。
composer require abraham/twitteroauth
Controllerからtweet
実際にtweetするコードは以下になります。
実際は、 トークンは定数ファイルなどで外だしした方が良いかもしれません。
また、 今回は、Controllerにtweetの処理を記述しましたが、 tweet,create_twitter_oauthあたりのメソッドは、 モジュールにまとめて他のコントローラからも使えるようにすると 再利用できて良いと思います。
TwitterController
namespace App\Controller;
use Abraham\TwitterOAuth\TwitterOAuth;
class TweetController extends AppController
{
function postTweet(){
// Hello Worldと呟く
$this->tweet("Hello World!!!!!");<
}
function tweet($text){
if ( $text != null && count($text) > 0 ){
$oauth = $this->create_twitter_oauth();
$result = $oauth->post('statuses/update', array("status"=> $text ));
}
}
private function create_twitter_oauth(){
// ①で入手したトークンを引数に渡し,TwitterOAuthオブジェクトを生成する。
return new TwitterOAuth(
"Your TWETTER_CONSUMER_KEY",
"Your TWETTER_CONSUMER_SECRET",
"Your TWETTER_ACCESS_TOKEN",
"Your TWETTER_ACCESS_TOKEN_SECRET"
);
}
}