我正在尝试开发一个桌面应用程序来访问Groundspeak为geocaching.com提供的应用程序接口。该接口需要使用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可能会导致一些问题,但我不知道是什么原因。
我可能还应该说,我正在开发一个桌面应用程序,因此回调URL实际上并不有效。它确实指向了我自己的一个网站,但该网站对OAuth一无所知。如果我省略了回调URL,我会收到“回调URL不存在或无效”之类的错误。
发布于 2013-05-08 19:59:31
我对Groundspeak一无所知,但我猜他们要求你在使用OAuth之前注册你的应用程序的回调地址。至少谷歌和微软通过他们的OAuth API做到了这一点。在Groundspeak上查找一些开发人员的设置。
发布于 2013-05-10 02:01:54
这肯定是未来需要进一步定义的东西:用于非web应用程序的OAuth。但似乎确实有一些可能的解决方案(不是最干净的)可以尝试让OAuth在桌面应用程序中工作。你可以在下面的文章中找到一些有效的解决方案(我自己还没有测试过)。它基于谷歌用于处理已安装桌面应用程序中的OAuth的可行解决方案:
https://developers.google.com/accounts/docs/OAuthForInstalledApps
链接到可能的变通解决方案:
http://blog.appharbor.com/2012/06/21/oauth-for-net-desktop-applications
这里还有一篇关于桌面应用程序OAuth的相关文章:OAuth for Desktop apps?
希望这能有所帮助!
https://stackoverflow.com/questions/16287029
复制相似问题