参考:Ka
y Framework で Twitter につぶやきを投稿する方法
参考にしたサンプルはつぶやきの投稿だったんですが、ダイレクトメッセージ送信しようと思います。
from myapp.models import User
from google.appengine.api import urlfetch
from myapp import oauth
import settings
# Twitter クラアイアントを使う
client = oauth.TwitterClient(
settings.GAEMA_SECRETS['twitter_consumer_key'],
settings.GAEMA_SECRETS['twitter_consumer_secret'],
None)
query = Notification.all().order('-created')
notifications = query.fetch(10)
for notification in notifications:
user_info = User.get_by_key_name(notification.user.key().name())
access_token = user_info.raw_user_data['access_token']
key = access_token['key'] # Access Key
secret = access_token['secret'] # Access Key Secret
# Twitter でつぶやく内容
params = {"text": 'test','user': access_token['user_id'] }
# つぶやきを投稿
url = 'https://twitter.com/direct_messages/new.json'
response = client.make_request(url=url, token=key, secret=secret,
additional_params=params, protected=True, method=urlfetch.POST)
raw_user_dataっていうところにいろいろデータが詰まっているみたいです。
その中にTwitterのAPIで必要なaccess keyとaccess key secretがあるので取得して、ダイレクトメッセーを送信します。なるほどー