概要
前回の記事から非常に間隔が空いてしまいましたが、
再びモチベーションが湧いてきたので、Slimについて触っていきます。
今回はSlimからTwitter APIを実行して、ツイートの検索を行っていきます。
アプリケーションの登録
Twitter APIを使うためにはアプリケーションを登録して、アクセストークンなどを取得する必要があります。
アプリケーションの登録方法などはネットで検索すると結構出てくるので、こちらの記事などを参考にして試してみて下さい。
Slimにtwitteroauthを導入
PHPでTwitter APIを操作するためのメジャーなライブラリとして「twitteroauth」というものがあります。
今回はこちらのライブラリを使って操作を行っていきます。
まずは、Slimにtwitteroauthを導入します。
composerでの導入が可能なので、Slimのディレクトリに入って下記コマンドを実行します。
composer require abraham/twitteroauth
インストール後はvendor配下にライブラリが配置されます。
twitteroauthの読み込み設定
twitteroauthの導入が終わったので、今度は設定を行っていきます。
まずはindex.phpにtwitteroauthを記載します。
require __DIR__ . '/../vendor/abraham/twitteroauth/autoload.php';
今回は汎用的に使うことを意識して、setttings.phpに設定を記載します。
// TwitterAPI設定
'twitter' => [
'consumer_key' => 'consumer_key',
'consumer_secreat' => 'consumer_secreat',
'access_token' => 'access_token',
'access_token_secreat' => 'access_token_secreat',
],
次に、オブジェクト生成を行います。
// twitterクライアント
use Abraham\TwitterOAuth\TwitterOAuth;
$container['twitter'] = function ($c) {
$settings = $c->get('settings')['twitter'];
return new TwitterOAuth($settings['consumer_key'], $settings['consumer_secreat'],
$settings['access_token'], $settings['access_token_secreat']);
};
これで使う準備は整ったので、APIを使って操作を行っていきます。
Twitter APIで検索
準備が整ったらroutes.phpにコードを記載していきます。
今回は特定ワードで検索するルーティングとコードを記載します。
試しに「艦これ」というワードを検索してみます。
$app->get('/twitter/search/', function ($request, $response, $args) {
// 艦これ
$params = [
'q' => '艦これ',
'count' => 5,
];
$tweet = $this->twitter->get('search/tweets', $params);
var_dump($tweet);
});
これで「艦これ」が含まれるツイートが5件取得できました。
まとめ
今回でTwitter APIからツイートを取得出来るようになったので、次はこの結果を使って何かやっていきたいです。
今回作ったCodeはこちらに上げてみました。
参考までに。
この記事の内容は以上になります。
最後まで読んで頂きありがとうございました。