PHP
Twitter
api
Slim3
slimphp

PHPフレームワーク「Slim」でTwitter APIを使ってみる

More than 1 year has passed since last update.

概要

前回の記事から非常に間隔が空いてしまいましたが、
再びモチベーションが湧いてきたので、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を記載します。

public/index.php
require __DIR__ . '/../vendor/abraham/twitteroauth/autoload.php';

今回は汎用的に使うことを意識して、setttings.phpに設定を記載します。

src/setttings.php
// TwitterAPI設定
'twitter' => [
    'consumer_key'         => 'consumer_key',
    'consumer_secreat'     => 'consumer_secreat',
    'access_token'         => 'access_token',
    'access_token_secreat' => 'access_token_secreat',
],

次に、オブジェクト生成を行います。

src/dependencies.php
// 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にコードを記載していきます。
今回は特定ワードで検索するルーティングとコードを記載します。
試しに「艦これ」というワードを検索してみます。

src/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はこちらに上げてみました。
参考までに。

この記事の内容は以上になります。
最後まで読んで頂きありがとうございました。