因此,我設置了一個twitter應用程序,以便人們可以回覆我自己的應用程序中的推文。我有一個回調URL,當我不嘗試重寫它時,一切似乎都很順利。然而,現在我有一個問題得到的回調覆蓋工作的應用程序運行在多個子域和服務器基於它是在什麼樣的階段的發展,我想覆蓋回調到當前的網址。Twitter Oauth回調覆蓋失敗
當我重寫回調和嘰嘰喳喳嘗試發送用戶回到該頁面我到一個頁面,說:「對不起,該頁面不存在!」
和URL看起來像這樣
和下面是一個使用這個庫的OAuth的我的Python代碼:用戶
點擊https://github.com/simplegeo/python-oauth2
#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))
電流授權URL
命中允許在Twitter上
Twitter的訪問顯示:重定向你回到應用程序
不能與像上面的例子網址查找頁面。
我不認爲Twitter可以覆蓋回調URL。也就是說,你不應該得到404。這是授權完成後發生的? – muffinista
他們允許它http://milindshakya.tumblr.com/post/4208580364/overriding-twitters-default-callback-url-using-oauth與Twitter員工談論它,但線程已過時。如果您在請求中使用POST,它應該可以工作。 – BillPull