2015/04/15

tweepyライブラリを利用する (ツイートする)

tweepyでツイートするには, update_statusメソッド または update_with_mediaメソッドを使います。
update_statusメソッドは文字ツイート、update_with_mediaメソッドは画像付きです。

import tweepy

CONSUMER_KEY    = '(コンシューマキー)'
CONSUMER_SECRET = '(コンシューマシークレット)'
ACCESSS_TOKEN   = '(アクセストークン)'
ACCESS_SECRET   = '(アクセストークン シークレット)'

if __name__ == '__main__':
    try:
        auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
        auth.set_access_token(ACCESSS_TOKEN, ACCESS_SECRET)
        api = tweepy.API(auth)

        api.update_status(status='ツイートできるかなっ?')
        api.update_with_media(status='画像付きだってできるんよ', filename='(画像ファイルパス)')

    except tweepy.TweepError as e:
        print(e.reason)


自分が使っているtweepyはバージョン3.2なのですが、ツイートメッセージを"status="で指定しないとエラーになってしまいます。
他のサイトでは指定していないのですが、今のバージョンでは明示的に指定しないとダメなのかも知れません。

メソッドの戻り値でツイート結果を知ることが出来ます。

status = api.update_status(status='ツイートできるかなっ?') 

id = status.id   # ツイートのID
dt = status.created_id   # ツイート日時

ツイートはIDが割り当てられますので、リプライするとき等に使用します。
リプライは、パラメータ in_reply_to_status_id にツイートIDを指定します。

api.update_status(status=' RT リツートだよっ♪', in_reply_to_status_id=[ツイートID]) 

他にも位置情報を指定する事が可能です。

Twitter APIのレスポンスがエラーのときは、例外 TweepError が発生します。
reason メソッドでエラーメッセージを取得する 事ができます。