rom*_*iem 8 twitter url oauth callback
我正在尝试在我的ASP.NET站点上运行Twitter身份验证.当您在Twitter网站上创建应用程序时,您必须指定一个回调URL,为了参数,我已将其设置为http://mydomain.com
我读过的OAuth 1.0a的规范,并与自己的自定义一个重写这个回调URL,你必须送oauth_callback参数在request_token阶段(网址编码,当然).
所以我的请求URL看起来像这样:
http://twitter.com/oauth/request_token?oauth_callback=http%3A%2F%2Fmydomain.com%2Ftwittercallback
据推测,如果一切按计划进行,在您的响应数据中,除了令牌和令牌密钥参数之外,您还应该收到oauth_callback_confirmed = true的新参数.
但是,我的回答是:oauth_token = MYTOKEN&oauth_token_secret = MYTOKENSECRET
我知道我没有给你们最多的人继续,但我知道为什么我没有收到oauth_callback_confirmed参数.如果没有这个,我的应用程序会默认返回到Twitter网站上硬编码的回调URL.如果有人能帮助我,我将永远感激不尽!
谢谢.
我读过的OAuth 1.0a的规范,并与自己的自定义一个重写这个回调URL,你必须送oauth_callback参数在request_token阶段(网址编码,当然).
所以我的请求URL看起来像这样:
http://twitter.com/oauth/request_token?oauth_callback=http%3A%2F%2Fmydomain.com%2Ftwittercallback
只因为你阅读规范并不意味着TWITTER阅读它.:P
开玩笑 - 这基本上是正确的 - 但是Twitter喜欢接收这些数据的方式有点不同(并没有很好地记录).
我发现获得oauth_callback确认的方式如下:在请求函数的参数中指定oauth_callback,而不是在URL中.
python示例(使用oauth2):
''' Create our client.'''
client = oauth.Client(consumer)
''' do the request '''
resp, content = client.request(request_token_url,"POST",body=urllib.urlencode({'oauth_callback':callbackURL}))
''' note that it's called "body" in this particular OAuth function for Client but in OAuth Request object it's called "parameters." YMMV depending on programming language/ library of course. '''
Run Code Online (Sandbox Code Playgroud)
这也是我成功获得oauth 验证器的唯一方法.据说每次都不应该指定回调网址,因为我们在应用程序设置中提供它...但经验似乎表明不是这样.
最后,请注意,在第3段你必须做同样的事情 - 这次包括oauth_verifier以及参数中的回调URL.
希望这会有所帮助 - 无法开始告诉你我付出了多少努力来解决这个问题.
祝好运!
Ĵ
| 归档时间: |
|
| 查看次数: |
11024 次 |
| 最近记录: |