こんにちは。Orange Forestのはしもとです。
先週から進めてまいりましたTwitter API作業。
Twitterの「リスト」に登録されているアカウントの一覧を入手して、アカウント名をコピペとかできるといろいろ楽そうだな!
ということでやってきまして、この記事でついに最終回! … はまだ早かった…。
今回はAPIを使ってTwitterにログインするところまでできましたのでシェアします!
作業の流れ
1. Twitter Developer登録 ★完了
2. App(アプリ)使用申請・審査 ★完了
3. 新規Appを作成 ★完了
— ↓今日はここから↓ —
4. APIキーを取得
5. Auth(Twitterログイン)スクリプトを作成
6. リスト取得スクリプトを作成
4. APIキーを取得
参考にしたサイト:
https://miyastyle.net/twitter-api#2TwitterAPI
まず、Twitter のDeveloperサイトにいき、ログインしてAppsを選択。
詳細画面から「Keys and tokens」に行ってアクセストークンを発行。
コンシューマAPIキー、シークレット、アクセストークンとアクセストークンシークレットの計4つの文字列をメモ。
そしてPermissionを「Read,write,Direct Messages 」に変更しました。
(いらないかもしれないがいちおう)
5. Auth(Twitterログイン)スクリプトを作成
参考サイト:
https://developer.twitter.com/en/docs/basics/authentication/guides/single-user
このTwitter 解説によると、PythonでAuthを実現する場合 Python-OAuth2 ライブラリがけっこう実績あるらしいので、使ってみます。
https://github.com/joestump/python-oauth2
Downloadはpipで。
$pip install oauth2
よしpythonでAuth処理を動かしてみます。参考サイトはこちら:
https://github.com/joestump/python-oauth2/wiki/Twitter-Three-legged-OAuth
https://developer.twitter.com/en/docs/basics/authentication/guides/single-user
コマンドモード(っていうんだっけ?)で実行。
$ python -V
Python 2.7.15
$ python
>>> import urlparse
>>> import oauth2 as oauth
>>> url = 'https://api.twitter.com/1.1/followers/ids.json'
>>> http_method="GET"
>>> post_body = ""
>>> http_headers=None
>>> consumer = oauth.Consumer(key='コンシューマAPIキー',secret='コンシューマAPIのシークレットキー')
>>> token = oauth.Token(key='アクセストークン',secret='アクセストークンのシークレット')
>>> client = oauth.Client(consumer,token)
>>> resp,content = client.request(url,method=http_method, body=post_body, headers=http_headers )
>>> print content
{"ids":[xxxxx,yyyyyy,(略),ZZZZZ],"next_cursor":0,"next_cursor_str":"0","previous_cursor":0,"previous_cursor_str":"0","total_count":null}
>>>
フォロワーさんのID一覧が取得できた!
最後の ‘print content’ で出てきたids の数が、自分のアカウントのフォロワーさんの数と一致しました! やったー。
ではいよいよ、次回最終回! urlのところを改造して、リスト一覧と、各リストに登録されているアカウント一覧を入手するようにします。
ではまた〜!
コメントを残す