人生構文エラー

考え事の整理用 、備忘録

PythonでTwitter APIを使って公式RTするまでの流れ

自動RTしてくれるサービスがほとんど見当たらなかったので作ろうかなと思い、python-twitterで少し遊んでみたので備忘録として

f:id:com0806:20170525210004p:plain

基本的な説明は以下のサイトを参考にしました

qiita.com

アプリの新規登録、Access tokenの取得

下記にログインし、Create New Appからアプリを新規登録します

https://apps.twitter.com/

Access levelは僕が登録した際にはすでにRead and writeになっていましたが、そうでない場合は変更する必要があります

Twitter APIにアクセスする為のパッケージのインストー

いつも通りpipでインストールします

コマンドラインで以下の通り

pip install python-twitter

基本的なコード

とりあえずツイートするには、以下の通りです

# -*- coding: utf-8 -*-

import twitter


api = twitter.Api(consumer_key="Consumer Keyを入力",
                  consumer_secret="Consumer Secretを入力",
                  access_token_key="Access Tokenを入力",
                  access_token_secret="Access Token Secretを入力"
                  )

api.PostUpdate("tweet from my app")

コードを改良

以下を参考にしました

myenigma.hatenablog.com

リツイート

api.PostRetweet(ツイートのID)

検索結果からidを取得

tweets = api.GetSearch(term=u"検索ワード")

term以外のオプションは最下部の公式ドキュメントを参照

検索結果はリストで返ってくるので、この場合は「tweets[0].id」が最初の検索結果のツイートのidとなっています

検索結果自体は

for tweet in tweets:
    print(tweet.text)

などとして確認してみましょう

コードの例

「#今日」というハッシュタグで検索して最初の検索結果をリツイート
# -*- coding: utf-8 -*-

import twitter

api = twitter.Api(consumer_key="Consumer Keyを入力",
                  consumer_secret="Consumer Secretを入力",
                  access_token_key="Access Tokenを入力",
                  access_token_secret="Access Token Secretを入力"
                  )

tweets = api.GetSearch(term=u"#今日")
api.PostRetweet(tweets[0].id)

「exclude:retweets」といった一般的な検索オプションも使えるようです

検索オプション一覧は以下を参照

colo-ri.jp