2011年8月15日月曜日

KayフレームワークでTwitterのダイレクトメッセージを送信する方法

参考:Kay 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があるので取得して、ダイレクトメッセーを送信します。なるほどー

0 件のコメント:

コメントを投稿