当我尝试在Dropbox中使用时,Xamarin Mac应用程序没有做出反应

时间:2015-05-04 09:47:30

标签: macos webview dropbox xamarin.mac

我正在开发一个Xamarin Mac应用程序,我需要与Dropbox进行一些数据同步。

我创建了一个WebView,导航到一个URL,提示用户输入用户名和密码。点击确定并成功登录后,我会看到一个新屏幕,我可以在其中授予或拒绝应用程序访问应用程序>中的文件夹> Dropbox中的AppName。

无论是击中取消还是允许没有任何反应。但是,如果我点击左上方的Dropbox图标,我会正常导航到我的仪表板。

我认为这可能是一个Javascript问题或类似的东西,但我已经改变了我能想到的所有属性,但我仍然停留在同一页面上。

我需要设定什么才能继续前进?

1 个答案:

答案 0 :(得分:5)

我找到了我的问题的解决方案,这是一个非常奇怪的解决方案(IMO),但也许它是OSX上的默认方式。

我订阅了webView控件提供的所有活动,我发现了这个" nugget"。

用户点击"允许" CancelClientRedirect事件被提出,我偶然发现如果你看看

YourWebViewControl.MainFrameUrl

您可以看到应该调用哪个回调网址。

它可以是http://yoururl.com/oauth=someRandomStringhttp://yoururl.com/not_approved=true

根据此URL,您可以知道发生了什么(即app(未)授权),然后根据需要做任何您想做的事。

希望这可以帮助别人!