Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HameeAdvent Calendar 2020

Day 13

Twitterでソフトバンクのプレゼント当たったから倍率調べたかった

Last updated at Posted at 2020-12-12

2020年11月25日
ソフトバンクホークスは見事日本一になりました。

夜はおなじみ和子の部屋(優勝特番生放送)で選手のインタビューを聞いていたところ、
https://twitter.com/HAWKS_official/status/1331653890010271745?s=20
こんな企画が
softbank.gif
#和子の部屋キュンでスター
こちらのハッシュで呟いたら、抽選で放送中に選手が書いたサインがあたるというもの

もちろん即応募です

そしたらなんと
softbank.gif

当たりました!!!!!!!!

嬉しくて死にそうになりました。

そしてふと思ったのです

倍率はいかほどか

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
softbank.gif

あ、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

4
0
1

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

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?