Python TwitterOAuth回调覆盖失败
因此,我设置了一个twitter应用程序,以便人们可以在我自己的应用程序中回复推文。我有一个回调URL,当我不尝试覆盖它时,一切似乎都很好。但是,现在我遇到了一个问题,即如何覆盖回调,使应用程序能够在多个子域和服务器上运行,这取决于它处于哪个开发阶段,我希望覆盖回调到当前url 当我覆盖回调,twitter试图将用户发送回该页面时,我会看到一个页面,上面写着“对不起,该页面不存在!” URL看起来像这样 下面是我使用oauth库的Python代码: 用户当前流量 单击授权URL 点击允许访问Twitter Twitter显示:将您重定向回应用程序 找不到具有上述示例URL的页面。一些快捷方式 您的URL已经过时,功能不如正确的URL。使用SSL和api子域:Python TwitterOAuth回调覆盖失败,python,twitter,oauth,twitter-oauth,Python,Twitter,Oauth,Twitter Oauth,因此,我设置了一个twitter应用程序,以便人们可以在我自己的应用程序中回复推文。我有一个回调URL,当我不尝试覆盖它时,一切似乎都很好。但是,现在我遇到了一个问题,即如何覆盖回调,使应用程序能够在多个子域和服务器上运行,这取决于它处于哪个开发阶段,我希望覆盖回调到当前url 当我覆盖回调,twitter试图将用户发送回该页面时,我会看到一个页面,上面写着“对不起,该页面不存在!” URL看起来像这样 下面是我使用oauth库的Python代码: 用户当前流量 单击授权URL 点击允许访问T
确保在将动态oauth\u回调值发送到oauth/request\u令牌步骤时,该值已正确编码。另外,请确保在dev.twitter.com/apps上的应用程序记录上有一个基于占位符HTTP的回调,我认为twitter不允许覆盖回调URL。也就是说,你不应该得到404。这是在授权完成后发生的吗?他们允许它与Twitter员工谈论它,但线程过时了。如果您在请求中使用POST,它应该可以工作。我认为Twitter不允许您覆盖回调URL。也就是说,你不应该得到404。这是在授权完成后发生的吗?他们允许它与Twitter员工谈论它,但线程过时了。如果您在请求中使用POST,它应该会起作用。谢谢!你能给我链接一个例子或者提供一个基于头的Oauth的区别吗?谢谢!你能把我和一个例子联系起来,或者提供一个区别基于头的Oauth的例子吗。
#SETUP TWITTER AUTHORIZATION OBJECT
request_token_url = 'http://twitter.com/oauth/request_token'
access_token_url = 'http://twitter.com/oauth/access_token'
authorize_url = 'http://twitter.com/oauth/authenticate'
consumer = oauth.Consumer(consumer_key, consumer_secret)
client = oauth.Client(consumer)
#get request token
callbackURL = urllib.quote("%s?twitterCallback" % self.request.url)
resp, content = client.request(request_token_url, "POST", body=urllib.urlencode({'oauth_callback':callbackURL}))
if resp['status'] != '200':
raise Exception("Invalid Response %s." %resp['status'])
request_token = dict(urlparse.parse_qsl(content))
tmpldict['callbackURL'] = callbackURL
tmpldict['oauth_token'] = request_token['oauth_token']
tmpldict['twitauthurl'] = "%s?oauth_token=%s" % ( authorize_url, request_token['oauth_token'] )
qargs=urlparse_qs(self.request.url,True,False)
if 'oauth_verifier' in qargs:
oauth_verifier = qargs['oauth_verifier'][0]
else:
oauth_verifier = None
if oauth_verifier:
token = oauth.Token(request_token['oauth_token'], request_token['oauth_token_secret'])
token.set_verifier(oauth_verifier)
client = oauth.Client(consumer,token)
resp, content = client.request(access_token_url, "GET")
access_token = dict(urlparse.parse_qsl(content))