[スポンサーリンク]
Python3でTwitterAPI使用する準備
Python3でTwitterAPI使用する準備として、下記を行いました
①APIキーとトークンの取得
②ライブラリのインストール
[スポンサーリンク]
コメント付きリツイート(引用リツイート)とは
他の方のツイートに対し、自分のコメント、意見を加えてツイートするのがコメント付きリツイートです
昔は、引用ツイートと呼ばれていたものです
WEBやアプリからは、「コメントを付けてリツイート」メニューを押下して、コメント付きリツイート出来ます
このコメント付きリツイートですが、実際にはリンク付きのツイートとなっています
従って、コメント付きリツイートをしたいURLを、メッセージに入れてツイートすることで、コメント付きリツイートが出来ます
ツイートをコメント付きリツイート(引用リツイート) POST statuses/update API
コメント付きリツイートは、URLのリンクを含んだツイートです
従って、コメント付きリツイートは、POST statuses/update APIを使ってツイートすることで実現出来ます
方法として、以下2通りがあります
①ツイート内容にリツイート対象のURLを含んでツイート
②attachment_urlにリツイート対象のTwitterURLを含んでツイート
①の方法の場合、Twitter関連以外のURLもリツイート出来ます
URLもツイートの文字数とカウントされる為、140-URL文字数がツイート出来るコメントの文字数となります
②の方法の場合、Twitter関連のURLのみ関連付けしてリツイート出来ます
URLはツイートの文字数とカウントされない為、140文字数がツイート出来るコメントの文字数となります
POST statuses/update APIの使い方は、下記の記事で記録しています
POST statuses/update API サンプルコード(コメント付きリツイート)①
status項目に、コメント付きリツイートをしたいURL
https://twitter.com/【アカウント名】/status/【ステータスID】
を含めてツイートを行う方法です
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# coding: utf_8 # ライブラリインポート import json from requests_oauthlib import OAuth1Session # APIキー&トークン設定 ConsumerAPIKey = 【ConsumerKey】 ConsumerAPIsecretkey = 【ConsumerSecretKey】 AccsessToken = 【AccessToken】 AceestokenSecret = 【AccessTokenSecret】 # ツイートパラメータ設定 POSTstatusesupdateParameters = { 'status' : "コメント付きリツイートnhttps://twitter.com/【アカウント名】/status/【ステータスID】" ,'in_reply_to_status_id' : '' ,'auto_populate_reply_metadata' : '' ,'exclude_reply_user_ids' : '' #attachment_urlは有効なURLを指定しない場合、例外が発生(HTTP400) #,'attachment_url' : '' ,'media_ids' : '' ,'possibly_sensitive' : '' ,'lat' : '' ,'long' : '' ,'place_id' : '' ,'display_coordinates' : '' ,'trim_user' : '' ,'enable_dmcommands' : '' ,'fail_dmcommands' : '' ,'card_uri' : '' } POSTstatusesupdateApiSession = OAuth1Session(ConsumerAPIKey, ConsumerAPIsecretkey, AccsessToken, AceestokenSecret) POSTstatusesupdateApiUrl = 'https://api.twitter.com/1.1/statuses/update.json' # ツイート実行 POSTstatusesupdateResponse = POSTstatusesupdateApiSession.post(POSTstatusesupdateApiUrl, params = POSTstatusesupdateParameters) print(POSTstatusesupdateResponse) if POSTstatusesupdateResponse.status_code == 200: POSTstatusesupdateResult = json.loads(POSTstatusesupdateResponse.text) print(POSTstatusesupdateResult) |
POST statuses/update API サンプルコード(コメント付きリツイート)②
attachment_url項目に、コメント付きリツイートをしたいURL
https://twitter.com/【アカウント名】/status/【ステータスID】
を指定する方法です
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# coding: utf_8 # ライブラリインポート import json from requests_oauthlib import OAuth1Session # APIキー&トークン設定 ConsumerAPIKey = 【ConsumerKey】 ConsumerAPIsecretkey = 【ConsumerSecretKey】 AccsessToken = 【AccessToken】 AceestokenSecret = 【AccessTokenSecret】 # ツイートパラメータ設定 POSTstatusesupdateParameters = { 'status' : "コメント付きリツイート" ,'in_reply_to_status_id' : '' ,'auto_populate_reply_metadata' : '' ,'exclude_reply_user_ids' : '' #attachment_urlは有効なURLを指定しない場合、例外が発生(HTTP400) ,'attachment_url' : 'https://twitter.com/【アカウント名】/status/【ステータスID】' ,'media_ids' : '' ,'possibly_sensitive' : '' ,'lat' : '' ,'long' : '' ,'place_id' : '' ,'display_coordinates' : '' ,'trim_user' : '' ,'enable_dmcommands' : '' ,'fail_dmcommands' : '' ,'card_uri' : '' } POSTstatusesupdateApiSession = OAuth1Session(ConsumerAPIKey, ConsumerAPIsecretkey, AccsessToken, AceestokenSecret) POSTstatusesupdateApiUrl = 'https://api.twitter.com/1.1/statuses/update.json' # ツイート実行 POSTstatusesupdateResponse = POSTstatusesupdateApiSession.post(POSTstatusesupdateApiUrl, params = POSTstatusesupdateParameters) print(POSTstatusesupdateResponse) if POSTstatusesupdateResponse.status_code == 200: POSTstatusesupdateResult = json.loads(POSTstatusesupdateResponse.text) print(POSTstatusesupdateResult) |
[スポンサーリンク]
Standardsearch API との連携
POST statuses/update APIを使用を使用して、対象ツイートのURLを指定して、コメント付きリツイートが出来ました
これでStandardsearch APIで検索したツイートに対して、コメント付きリツイートをしたりすることが出来ます
[スポンサーリンク]
コメント