プロが教える店舗&オフィスのセキュリティ対策術

pythonでtwitterAPIを使用としたときのGAE上でのエラー

<class 'urllib2.HTTPError'>: HTTP Error 401: Unauthorized
GAE上にこの様なエラーが出てしまい。twitterbotに反映されません。
import urllib2は行っているのですが原因が分からず困っています。
よろしくお願いします

# -*- coding: utf-8 -*-
import twitter
import random
import os

# from tenki import information
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template
# twitter.Api.__init__ method for override.

def twitter_api_init_gae(self,
username=None,
password=None,
input_encoding=None,
request_headers=None):
import urllib2
from twitter import Api
self._cache = None
self._urllib = urllib2
self._cache_timeout = Api.DEFAULT_CACHE_TIMEOUT
self._InitializeRequestHeaders(request_headers)
self._InitializeUserAgent()
self._InitializeDefaultParameters()
self._input_encoding = input_encoding
self.SetCredentials(username, password)
# 天気用に追加
# from urllib2 import urlopen
# from xml.dom.minidom import parseString
# from xml.etree.ElementTree import *
# information = []
# io = urlopen("http://www.google.com/ig/api?weather=Tokyo")
# dom = ElementTree(file=io)
# cond = dom.find("//current_conditions")
# for name in ["condition","temp_c","humidity","wind_condition"]:
# information.append(cond.find(name).get("data"))

# overriding API __init__
twitter.Api.__init__ = twitter_api_init_gae

list = [
u"ante"
,u"Do my best"
,u"piyopiyopiyo"
,u"piyopiyo"
,u"ponyo"
,u"piyo"
,u"my name is anteroom"
# ,u"Today's weather is " + information[0]
# ,u"Today's weather is " + information[1]
# ,u"Today's weather is " + information[2]
# ,u"Today's weather is " + information[3]
]
post = random.choice(list)
api = twitter.Api("hoge","hoge")
api.PostUpdate(post)

A 回答 (1件)

まず、public_timelineの取得が出来るかどうかを確認してください。

可能だったならtwitterでの認証失敗、出来なかったならプログラムの不整合かgaeの問題です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!