前項までで
Twitterへの開発者申請
APIキーの取得
を行いました
次はPythonでまず投稿するために環境を作ります。
botへの道が長い!
モジュールのインストール
oath認証を使います。
なので、まずrequests_oauthlibを使えるようにしましょう
コマンドプロンプトを開いて
pip install requests requests-oauthlib
コマンドプロンプトはWindowsキーを押してから「dos」って打ったら出てきます
pythonでrequests_oauthlibをimportする
from requests_oauthlib import OAuth1Session
といれて実行。エラーがなければOK
もし「そんなモジュールないよ!」と言われたときには
pythonがモジュールを読みに行くパスがズレているのかも
pythonのNo module named ‘requests_oauthlib’解決方法を記してますのでよろしければぜひ。
API Key、Access Keyを設定する
前項で取得したキーを設定しておきましょう
CONSUMER_KEY="XXX"
CONSUMER_SECRET="XXX"
ACCESS_TOKEN_KEY="XXX"
ACCESS_TOKEN_SECRET="XXX"
APIから投稿してみる&コードまとめ
詳細は追ってとして、まず投稿してみましょう
こちらはキカガク今西さんの動画を参考にしています。
すごい分かりやすいのでぜひ。
続編を強く希望します。
from requests_oauthlib import OAuth1Session
CONSUMER_KEY="XXX"
CONSUMER_SECRET="XXX"
ACCESS_TOKEN_KEY="XXX"
ACCESS_TOKEN_SECRET="XXX"
twitter = OAuth1Session(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_TOKEN_KEY,ACCESS_TOKEN_SECRET)
url = "https://api.twitter.com/1.1/statuses/update.json" #投稿先のエンドポイントです。
params = {'status':'光に向かって一歩でも進もうとしている限り、人間の魂が真に敗北する事など断じて無い'}
twitter.post(update_url,params=params)
XXXにはそれぞれ取得したキーを入れてください
実行するとクラウス・V・ラインヘルツさんが降臨します。
(イヤな人は見なくていいお好みの言葉に変えてください)
コードの説明
上段のおさらい
OAuthSession をインポートします
from requests_oauthlib import OAuth1Session
前項で取得したキーを放り込んでおきます
CONSUMER_KEY="XXX"
CONSUMER_SECRET="XXX"
ACCESS_TOKEN_KEY="XXX"
ACCESS_TOKEN_SECRET="XXX"
twitterという変数に認証情報(キー含む)を入れておきます
twitter = OAuth1Session(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_TOKEN_KEY,ACCESS_TOKEN_SECRET)
これはリクエストするエンドポイントの設定。
↓のURLは投稿するときのエンドポイントです。
こちらのエンドポイント一覧にも少しまとめています。
url = "https://api.twitter.com/1.1/statuses/update.json"
どんなことをやりたいよ、とパラメータを設定してあげます。
どんなパラメータがあるのかは↓のリファレンスにあります。
投稿にはこちらの中のstatusを使います。
辞書型で設定していきましょう
params = {'status':'光に向かって一歩でも進もうとしている限り、人間の魂が真に敗北する事など断じて無い'}
認証情報やらなにやら入れた twitter 変数にて
設定したエンドポイント(URL)に
欲しいパラメータ(params)を
投げます(post)
twitter.post(url,params=params)
これでparamsを変数にしてsleepしながらforで回せば投稿し続けることはできそうですね
続きはまた後日