3

从 Dropbox 请求 access_token 时,我遇到了一个奇怪的问题。相同的代码在 Windows 上完美运行。我得到请求令牌,打开网页,然后得到访问令牌。

在 Windows Phone 上,完全相同的顺序不起作用。取回请求令牌后,我可以打开网页并登录,但是 oauth\access_token 每次都会失败,并显示以下内容

WebException: Message="远程服务器返回错误:NotFound.StatusCode=System.Net.HttpStatusCode.Forbidden StatusDescription=Forbidden

只是为了好玩,我尝试并排调试 Windows Phone 和 Windows 代码,并在两者之间交换请求令牌密钥和令牌秘密。我发现在 Windows Phone 上登录 Dropbox 是问题的根源。如果从手机上的浏览器登录,我永远无法获得访问令牌,但它在桌面上运行良好。我究竟做错了什么?

4

1 回答 1

1

解决方案非常简单。就在打开保管箱页面之前,我添加了一行:

myBrowserControl.IsScriptEnabled = true;

起初,我在我的应用页面上使用 Web 浏览器控件,并且只设置了用于 Dropbox 登录的 URL。该控件的所有其他设置都是默认设置,这意味着默认情况下该控件上的脚本被禁用。Dropbox 需要 javascript 才能登录,所以没有启用脚本的登录页面就无法正常工作。

于 2012-09-19T18:53:56.613 回答