2013-04-29 145 views
5

我正在尝试开发桌面应用程序以访问由Groundspeak为geocaching.com公开的API。 API需要使用OAuth。尝试获取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。如果我省略回叫网址,则会收到错误“回叫网址不存在或无效”或其他。

回答

1

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

+0

我在论坛上询问过这个问题,但还没有看到答案。我也找不到像开发人员选项那样的东西。在其他文章中,我从来没有见过关于注册回调URL的任何信息。不幸的是,如果不能确认这一点,我不能接受它......我会如果/当我可以,但:) – Steve 2013-05-09 12:32:04

0

这绝对是未来需要进一步定义的东西:适用于非web应用程序的OAuth。但似乎有一些可能的解决方案(不是最干净的),您可以尝试使OAuth在桌面应用程序中工作。你可以看看下面有一些工作解决方案的文章(我没有自己测试过)。它是基于关闭谷歌的可行的解决方案,用于从安装的桌面应用程序处理的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?

希望这会有所帮助!

相关问题