Python+Twitter API②

pythonでTwitter APIを利用する方法を説明します

 
参考ページ

 
Twitter APIを利用するには、アプリケーションの登録をしAPIキーなどをもらう必要があります。

最近、登録の審査が厳しくなったようです、登録については各自お調べ下さい。

認証処理

API利用の度に、キーによる認証処理が必要です

毎回キーを記述するのは大変なので、別ファイルにキーを記述します。

CONSUMER_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
CONSUMER_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ACCESS_TOKEN = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ACCESS_TOKEN_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

 
実行ファイルで、config.pyを呼び出し、認証処理を行います。

import config #config.pyの読み込み
from requests_oauthlib import OAuth1Session #OAuthのライブラリの読み込み

CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
ATS = config.ACCESS_TOKEN_SECRET

twitter = OAuth1Session(CK, CS, AT, ATS) #認証処理

 
これで準備が完了です。

POSTメソッド

POSTメソッド(投稿や更新)とGETメソッド(情報の取得)があります。

まずツイートを投稿する方法(POSTメソッド)を見てみましょう。

 
参考ページ

 

 
url = 'https://api.twitter.com/1.1/statuses/update.json' #エンドポイント

status = 'こんにちは!' #ツイート本文(必須)
lat = 35.79449997305192 #緯度
long = 139.79078800000002 #経度

params = {'status':status,'lat':lat,'long':long} #パラメーター
 
twitter.post(url, params = params) #POSTメソッドの実行

 
エンドポインド:処理ごとに定められています

パラメーター:処理ごとに定められており、必須と必須でないものがあります

GETメソッド
 
次に特定のツイート情報の取得(GETメソッド)を見てみましょう。

 

 

import json #jsonファイルを扱うため

~

url = 'https://api.twitter.com/1.1/statuses/show.json' #エンドポイント

id = 1094812821047496709 #取得対象のツイートID(必須)
include_entities = False #entitiesプロパティを含めるか

params = {'id':id,"include_entities":include_entities} #パラメーター

req = twitter.get(url, params = params) #GETメソッドの実行

tweet = json.loads(req.text) #JSON形式を辞書へ変換

print(tweet) #全情報の確認

print(tweet['created_at']) #投稿日
print(tweet['id']) #ツイードID
print(tweet['text']) #投稿文
print(tweet['user']['name']) #ユーザー名

 
メソッドの戻り値はJSON形式のため、辞書へ変換します。

あとは通常通り、キーを使い必要な情報を取り出せます。

 
以上が基本です。これさえ理解すれば大体の機能は利用できると思います。




python, twitter api

Posted by iser