2020年11月25日
ソフトバンクホークスは見事日本一になりました。
夜はおなじみ和子の部屋(優勝特番生放送)で選手のインタビューを聞いていたところ、
https://twitter.com/HAWKS_official/status/1331653890010271745?s=20
こんな企画が
#和子の部屋キュンでスター
こちらのハッシュで呟いたら、抽選で放送中に選手が書いたサインがあたるというもの
もちろん即応募です
当たりました!!!!!!!!
嬉しくて死にそうになりました。
そしてふと思ったのです
倍率はいかほどか
Twitterでどれくらい応募するためにハッシュタグがついたか見てみようと思い、TwitterAPI利用申請しました。
PHP使って解析してみようと思います。
ライブラリはこちらが有名みたいですが、
https://github.com/abraham/twitteroauth
ライブラリのエラーが解決できず・・・
なんでライブラリでsyntax出るんだろう。何かのバージョンだろうか。。
PHP Parse error: syntax error, unexpected ')' in /Users/username/work/twitter/src/TwitterOAuth.php on line 207
こっち使いました
https://github.com/mpyw-junks/TwistOAuth
<?php
require 'TwistOAuth.phar';
$api_key = 'xxxxxxx';
$api_secret = 'xxxxxxx';
$access_token = 'xxxxxxx';
$access_token_secret = 'xxxxxxx';
$connection = new TwistOAuth($api_key, $api_secret, $access_token, $access_token_secret);
// 自分のツイートを取得
$params = array(
'count' => '2'
);
$user = $connection->get('statuses/user_timeline', $params);
var_dump($user); //過去2件の発言が取れるよ
いい感じの結果返ってきたのでリクエストは成功
次は検索
$params = array(
'q' => 'ソフトバンク',
'count' => '2',
);
$tweets = $connection->get('search/tweets', $params)->statuses;
var_dump($tweets);
結構長い配列になってる。
ちゃんと解析しようとしたら時間かかりそう。。
ちなみにcount消したら15件出てきたっぽいです。
$hash_params = array('q' => '#和子の部屋キュンでスター' ,'count' => '10', 'lang'=>'ja');
$hash = $connection->get('search/tweets', $hash_params)->statuses;
var_dump($hash);
丁度先ほどサインが届いて、嬉しくてツイートしたのですが、上の検索で出てきたので一安心w
あ、2枚届くのか。
ということは、当選者は6名です。
では真面目に日付指定を
$hash_params = array('q' => '#和子の部屋キュンでスター' ,
'count' => '10',
'lang'=>'ja',
'since' => '2020-12-11_00:00:00_JST',
'until' => '2020-12-12_00:00:00_JST'
);
$hash = $connection->get('search/tweets', $hash_params)->statuses;
var_dump($hash);
var_dump
の結果に自分のツイート出るから間違ってないはず。
$hash_params = array('q' => '#和子の部屋キュンでスター' ,
'count' => '10',
'lang'=>'ja',
'since' => '2020-11-26_00:00:00_JST',
'until' => '2020-11-27_00:00:00_JST'
);
$hash = $connection->get('search/tweets', $hash_params)->statuses;
var_dump($hash);
あ・・・あれ?カウント0だぞ・・・
調べたところ、どうやらTwitterAPIは1週間前までしか調べられないようでした。(この記事は2020/12/11に書いてます)
あとカウントもマックス100だとか。
期間の問題が解消されても、本気でやろうと思ったら100件以上の取得は最後に取得した日を保持して、日付の時間変えて何回かやらないといけないみたいです。
すみません、結局倍率は分かりませんでしたが、これを機にTwitterAPI触れたので勘弁してください。。
参考
Twitter APIでつぶやきを取得する
https://qiita.com/yokoh9/items/760e432ebd39040d5a0f