尝试获取OAuth请求令牌时“读取消息时出错”

时间:2013-04-29 19:50:15

标签: oauth

我正在尝试开发一个桌面应用程序来访问Groundspeak为geocaching.com公开的API。 API需要使用OAuth。

在最终搞清楚为什么我的邮件签名被拒绝后(我必须对我的回调URL进行双重编码,在读取双重编码导致问题的某处)后,我现在在尝试获取请求时收到来自Groundspeak的以下错误令牌:

oauth_error_message=Error%20while%20reading%20message%20%27DotNetOpenAuth.OAuth.Messages.UnauthorizedTokenRequest%27%20parameter%20%27oauth_callback%27%20with%20value%20%27http%253A%252F%252Fwww.mysite.com%252F%27.

不是非常具有描述性的错误消息。这有什么问题? Groundspeak在其服务器上使用DotNetOpenAuth。好像我的回调网址可能会导致一些问题,但我不知道是什么。

我可能还应该说我正在开发一个桌面应用程序,因此回调URL并不真正有效。它确实指向我拥有的网站,但该网站根本不了解OAuth。如果我省略了回调URL,则会收到错误“回调URL不存在或无效”或者其他错误。

2 个答案:

答案 0 :(得分:1)

我对Groundspeak一无所知,但我猜他们要求您在使用OAuth之前注册应用的回调网址。至少Google和Microsoft使用他们的OAuth API来做到这一点。在Groundspeak上寻找某种开发者设置。

答案 1 :(得分:0)

这肯定是未来需要进一步定义的:非Web应用程序的OAuth。但似乎有一些可能的解决方案(不是最干净的),您可以尝试让OAuth在桌面应用程序中工作。您可以查看下面有一些有效解决方案的文章(我自己没有测试过)。它基于Google用于处理已安装桌面应用程序OAuth的可行解决方案:

https://developers.google.com/accounts/docs/OAuthForInstalledApps

链接到可能的解决方案解决方案:

http://blog.appharbor.com/2012/06/21/oauth-for-net-desktop-applications

以下是有关桌面应用OAuth的SO的相关文章:OAuth for Desktop apps?

希望这有帮助!