はじめに
みなさんマッチングアプリは好きですか??
一度でもマッチングアプリをやったことがある方は、こんな悩みを抱えたことはないでしょうか?
####「食事の場所どこ行こう?( ˙▿˙ )」
....
ということで!
TwitterAPIでグータンヌーボで紹介されたお店情報を取得する。ついでにLINEで表示する。
グータンヌーボヌーボご存知でしょうか?
わたくしめちゃめちゃ好きなんですけど、
この番組で紹介されるお店がすごくオシャレで是非いつか行ってみたくなるようなところなんですね。
そして、その番組Twitterが毎回決まった書式でお店情報を紹介しているのでちょうど良かったので取得してみようと思いました。
使ったのもの
- TwitterAPI
- TwistOAuth
- LINEAPI
- PHP
グータンヌーボヌーボとは
台本無し、カメラだけの空間はまるでプライベートのようで、ゲストたちはついつい本音をこぼしてしまう!毎回、MC陣の中から1人が、女性ゲストと都内近郊のカフェやレストランでロケを敢行。今回もガールズトークが止まらない!
TwitterAPIでお店情報を取得する。
まず、はじめに番組Twitterを確認しにいきます。
確認したら、画像のように1つのツイートにお店情報、出演者、InstagramURLが添付されてます。
TwitterAPIを叩いていくぅ!
<?php
require 'Gutan/TwistOAuth/build/TwistOAuth.phar';
$consumer_key = '';
$consumer_secret = '';
$access_token = '';
$access_token_secret = '';
$connection = new TwistOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
// グータンタイムラインから10件取得
$users_params = ['screen_name' => 'gutan_ktv','count' => '10'];
$time_line = $connection->get('statuses/user_timeline', $users_params);
$obj = array();
foreach ($time_line as $key => $value) {
$obj[] = get_object_vars($value);
}
$shops = array();
// お店情報のツイートだけ取得
foreach ($obj as $key => $value) {
if(strpos($value["text"],"お店情報")){
$shops[] = $value;
} else {
// それ以外はいらん!
continue;
}
}
実行結果!!
#LINE Messaging API使ってお店情報をLINE(スマホ)に飛ばす。
取得はできて満足だけどけど、これPCでしか見れないし、
PCでみるならそもそもTwitter見に行ったらいいだけやし。。
お店情報だけまとめて、どこか手元に置いておきたい....ってことで
Line LINE Messagingを叩いていくぅ!!!
// TwitterAPIで取得したお店情報をLineAPIのフォーマットに生成
foreach ($shops as $key => $value) {
$message[] = array(
'type' => 'text',
'text' => $shops[$key]['text']
);
}
$post_data = array(
'to' => "Your user ID",
'messages' => $message
);
$ch = curl_init('https://api.line.me/v2/bot/message/push');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charser=UTF-8',
'Authorization: Bearer ' . "Channel access token"
));
$result = curl_exec($ch);
curl_close($ch);
集大成
大満足です
出来なかったのが、まとめて200件ぐらいパワープレイでLINEにお店情報を送ろうと思ったら
message":"Size must be between 1 and 5"
で怒られてしまったので今回は断念しました。
あと、LINEmessagingAPI楽しい。
最後に
今日はクリスマス。。。
これがクリスマスデートの助けになるかどうかわからないですけど、
個人的には、番組で紹介されていたお店がLINE開いたら一発で見れるのは楽になったので
いつか、この子は役に立つと信じてます。
そもそもなぜ、グータンヌーボにしたのかと言うと、
グータンヌーボヌーボで紹介されているお店はトップオブトップの女性芸能人が「すごーい」って言うぐらいお洒落で、
かつガールズトークしやすい環境を整えてくれている。
最高のお店を紹介してくれてるからです。(元乃木坂46の西野七瀬さんが出てる番組だからです)
ということで、良いクリスマスを!アドカレお疲れ様でしたm(_ _)m
参考記事
TwistOAuthを使ってユーザータイムラインを取得する
https://qiita.com/kojamam/items/9d81169adf627aa9d793
PHP×LINE Messaging APIで作るチャットボット
https://qiita.com/ryo_hisano/items/da85ee205fb6c8fd3fee