LoginSignup
7
7

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-09-15

概要

前回の記事から非常に間隔が空いてしまいましたが、
再びモチベーションが湧いてきたので、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はこちらに上げてみました。
参考までに。

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

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7