###はじめに
apiの勉強をしたいと思い、テストで作ってみました。
Twitterのトレンド(1~5位)を取得して、Lineで通知するbotを作ります。
###環境構築
pip install line-bot-sdk //Line apiを使うライブラリー
pip install requests requests_oauthlib//twitter apiを使うためのライブラリー
それぞれをインストールする。
import json
from requests_oauthlib import OAuth1Session
from linebot import LineBotApi
from linebot.models import TextSendMessage
CONSUMER_KEY='*****'
CONSUMER_SECRET='*****'
ACESS_TOKEN='*****'
ACESS_TOKEN_SECRET='*****'
twitter=OAuth1Session(CONSUMER_KEY,CONSUMER_SECRET,ACESS_TOKEN,ACESS_TOKEN_SECRET)//自分のapikeyを入力してください
url='https://api.twitter.com/1.1/trends/place.json'
params={'id':23424856} //日本のidの値を設定する。
res=twitter.get(url,params=params)
json=res.json()
trends=json[0]['trends']
names=[]
urls=[]
for i,trend in enumerate(trends):
if i>=5:
break
name=trends[i]['name']
url=trends[i]['url']
names.append(name)
urls.append(url)
CHANNEL_ACCESS_TOKEN="*****"
line_bot_api=LineBotApi(CHANNEL_ACCESS_TOKEN)
texts=[]
number=0
def main():
USER_ID="*****"
for i in range(len(names)):
texts.append(str(i+1)+" "+names[i]+"\n"+urls[i])
line_bot_api.push_message(USER_ID, TextSendMessage(text=texts[number]+'\n'+texts[number+1]+'\n'+texts[number+2]+'\n'+texts[number+3]+'\n'+texts[number+4]))
main()
###終わりに
APIの利用はなれたらとても簡単にできると思います。
##わからないところがあれば、気軽に言ってください!!
この記事に関することなら、なんでもお答えします!!
##ダメなところなどもあれば言ってください