2016/10/24

Pythonでtwitterにツイートできるようにするためのメモ

1.Pythonライブラリインストール

初めに、Pythonでライブラリのインストールに使用する「pip」をインストールする。
Centos7にはデフォルトでは入っていないのでyumでインストールする。
当たり前だけどインストールの際には管理者権限が必要。

# yum install epel-release
# yum install python-pip
# pip install pip --upgrade
参考「CentOS7 に pip と awscli をインストール - set setting reset

Python用twitterライブラリのインストール
もちろん管理者権限が必要
$ pip install requests requests_oauthlib

2.Twitter APIキー(Consumer Key)取得

twitter APIキーを取得するにはTwitterアカウントに携帯電話番号を登録していなければならない。
携帯電話番号の登録
参考「Twitter Developersでアプリを作成し、APIキー、アクセストークンを取得する手順 | WPlogs

*「電話認証機能を有効にしてください!」というエラーが出て登録できない場合はページを更新(F5)すると登録できるようになるかもしれない。
参考「twitterの電話番号認証がうまくいかないとき - やったこと

Twitter Developersでアプリを作成し、APIキー、アクセストークンを取得する手順 | WPlogs」のページを参考にして色々設定してAPIキー(Consumer Key
 )とアクセストークンを作る。

必要なものはConsumer Key (API Key)、Consumer Secret (API Secret)、Access Token、Access Token Secretの4つ。

3.ツイートしてみる

参考「PythonでTwitterしてみた - Qiita」にあるソースコードを参考にしてツイートするスクリプトを書く。
CONSUMER_KEY、CONSUMER_SECRET、ACCESS_TOKEN、ACCESS_TOKEN_SECRETにはConsumer Key (API Key)、Consumer Secret (API Secret)、Access Token、Access Token Secretを入力すること。

#coding: UTF-8
from requests_oauthlib import OAuth1Session
import json

CONSUMER_KEY = "aaaa"
CONSUMER_SECRET = "bbbb"
ACCESS_TOKEN = "cccc-dddd"
ACCESS_TOKEN_SECRET = "eeee"


twitter = OAuth1Session(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

params = {"status": "テストツイートです"}
req = twitter.post("https://api.twitter.com/1.1/statuses/update.json",params = params)



実行し、ツイートされていれば成功