ぽよメモ

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

カテゴリー:スポンサー広告


Pythonでツイートする


実は休講通知botは完成しました((超雑なコードで
結局本当にこれまでやって来たことを一つにまとめただけなのですが、一応動いてはいます()

今回はpythonでツイートする方法をまとめておきます。

twitterにツイートするまでにはまず「apps.twitter.com」にアクセスし、ツイートするクライアント(アプリケーション)を作成する必要があります。
これまでならすべてのアカウントで作成できたのですが、最近Twitter社のクソな仕様粋な図らいにより電話番号がひも付けされたアカウントでしかアプリケーションが作成できなくなりました。またツイート時に必要なアクセストークンはアプリケーションの作成画面から見ることができるのは、そのアプリケーションを作成したアカウントの分だけです。

当然電話番号は一つしか持っていません(大体の人はそうだと思います
メインのアカウントにひも付けされています(大体の人はそうだと思います

ど う す ん の

というわけでこういうサイトを発見しました→Twitter BOT作るときOAuthのAccess token取得するのがめんどいから簡単に取得できるwebサービスつくった
先人は偉大です。ありがたく使わせていただきました。

番号を紐付けしたアカウントでapps.twitter.comにログインしアプリケーションを作成

ログアウト後botで使うアカウントでログイン

先程のサイトを使ってアクセストークンを取得

これで使うアカウントの「Access Token(以下AT)」「Access token Secret(以下AS)」、そして作成したアプリケーションの「Consumer Key(以下CK)」「Consumer Secret(以下CS)」が揃いました。
ようやくpythonの方に入っていきます。
今回はTwitterのAPIを叩くためにOAuth認証というモノを使います。

これにはすでにライブラリが用意されており、
pip install requests
pip install requests-oauthlib
pipでインストールすることができます。

# coding: utf-8
from requests_oauthlib import OAuth1Session

CK = "xxxxxxxxxxxxxxxxxx"
CS = "xxxxxxxxxxxxxxxxxx"
AT = "xxxxxxxxxxxxxxxxxxx"
AS = "xxxxxxxxxxxxxxxxxxx"

# ツイート投稿のURL
url = "https://api.twitter.com/1.1/statuses/update.json"

def tweet(text):
# ツイート内容を以下に記述
params = {"status": text}

# OAuth認証して投稿
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.post(url, params = params)

# 返ってくるコードを確認
if req.status_code == 200:
print ("ツイート完了")
else:
print ("ツイートできませんでした: %d" % req.status_code)

if __name__ == '__main__':
print tweet("はじめまして") #確認


提供されているAPI一覧はこのあたりを参照してください。

APIは一定時間に指定回数以上叩くとアプリケーションごと規制されてしまいます。連投は避けたほうが無難です。
本当は連投時に遅延処理を仕込んだほうが良いんですが、昨日はそれ以外の部分の実装で忙しかったので…(言い訳
そのうちやりますそのうち


スポンサーサイト

カテゴリー:ぷよぐやみんぐ


コメントの投稿はこちらから ♥

COMMENT-FORM

SECRET

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。