コード例 #1
0
ファイル: main.py プロジェクト: sadao/tweet-with-email
  def post(self):
    # パラメータを取得する
    twitter_id          = self.request.get("twitter_id")
    consumer_key        = self.request.get("consumer_key")
    consumer_secret     = self.request.get("consumer_secret")
    access_token        = self.request.get("access_token")
    access_token_secret = self.request.get("access_token_secret")
    mailaddress         = self.request.get("mailaddress")

    # パラメータチェック
    if (twitter_id == '' or consumer_key == '' or consumer_secret == ''):
      self.redirect(urls.APP_INDEX_URL)
      return

    # データ登録 or 更新 and 取得
    twitter_obj = Twitter.get_or_insert(
                   users.get_current_user().user_id() + twitter_id,
                   owner               = users.get_current_user(),
                   twitter_id          = twitter_id,
                   consumer_key        = consumer_key,
                   consumer_secret     = consumer_secret,
                   access_token        = access_token,
                   access_token_secret = access_token_secret,
                   mailaddress         = mailaddress )
    twitter_obj.consumer_key = consumer_key
    twitter_obj.consumer_secret = consumer_secret
    twitter_obj.access_token = access_token
    twitter_obj.access_token_secret = access_token_secret
    twitter_obj.mailaddress = mailaddress
    twitter_obj.put()

    # 画面を表示する
    Viewer.generate(
      Viewer(),
      self.response,
      TEMPLATE_APP_INDEX_PATH,
      {
        'current_twitter': twitter_obj,
        'owned_twitters': models.get_owned_twitters( users.get_current_user() )
      })
コード例 #2
0
ファイル: main.py プロジェクト: sadao/tweet-with-email
  def post(self):
    # パラメータを取得する
    mailaddress         = self.request.get("mailaddress")
    twitter_id          = self.request.get("twitter_id")
    consumer_key        = self.request.get("consumer_key")
    consumer_secret     = self.request.get("consumer_secret")
    access_token        = self.request.get("access_token")
    access_token_secret = self.request.get("access_token_secret")

    # パラメータチェック
    if (twitter_id == '' or consumer_key == '' or consumer_secret == ''):
      self.redirect(urls.APP_INDEX_URL)
      return

    # データ登録 or 更新 and 取得
    twitter_obj = Twitter.get_or_insert(
                   users.get_current_user().user_id() + twitter_id,
                   owner               = users.get_current_user(),
                   twitter_id          = twitter_id,
                   mailaddress         = mailaddress,
                   consumer_key        = consumer_key,
                   consumer_secret     = consumer_secret,
                   access_token        = access_token,
                   access_token_secret = access_token_secret )
    twitter_obj.mailaddress = mailaddress
    twitter_obj.consumer_key = consumer_key
    twitter_obj.consumer_secret = consumer_secret
    twitter_obj.access_token = access_token
    twitter_obj.access_token_secret = access_token_secret
    twitter_obj.put()

    # Twitterアカウント有無確認
#    result_test_tweet = ''
#    try:
#      result = urlfetch.fetch(TWITTER_BASE_URL + twitter_id)
#      if not (result.status_code == 200):
#        result_test_tweet = 'Twitterアカウントが間違っているかもしれません'
#    except urlfetch.DownloadError, e: 
#      logging.error('Download error: %s', e)
#      result_test_tweet = e

    # つぶやく
    client = oauth.TwitterClient(twitter_obj.consumer_key,
                                 twitter_obj.consumer_secret, None)
    try:
      client.make_request('http://twitter.com/statuses/update.json',
                          token = twitter_obj.access_token,
                          secret = twitter_obj.access_token_secret,
                          additional_params = {'status': u"test"},
                          protected = True,
                          method = 'POST')
      result_test_tweet = 'SET (SuccEss Tweet)'
    except e:
      logging.error('Tweet error: %s', e)

    # 画面を表示する
    Viewer.generate(
      Viewer(),
      self.response,
      TEMPLATE_APP_INDEX_PATH,
      {
        'current_twitter': twitter_obj,
        'owned_twitters': models.get_owned_twitters( users.get_current_user() ),
        'result_test_tweet': result_test_tweet
      })