Iva*_*čić 9 macos dropbox webview xamarin.mac
我正在开发一个Xamarin Mac应用程序,我需要与Dropbox进行一些数据同步.
我创建了一个WebView,它导航到一个URL,提示用户输入其用户名和密码.点击确定并成功登录后,我会看到一个新屏幕,我可以在Dropbox中的应用程序> AppName中授予或拒绝应用程序访问它的文件夹.
无论击中取消还是允许没有任何反应.但是,如果我点击左上角的Dropbox图标,我会正常导航到我的仪表板.
我认为这可能是一个Javascript问题或类似的东西,但我已经改变了我能想到的所有属性,我仍然停留在同一页面上.
我需要设置什么才能继续前进?
我找到了我的问题的解决方案,这是一个非常奇怪的解决方案(IMO),但也许这是OSX上的默认方式.
我订阅了webView控件提供的所有事件,我发现了这个"金块".
一旦用户点击"允许",CancelClientRedirect事件就会被提出,我偶然发现如果你查看了
YourWebViewControl.MainFrameUrl
Run Code Online (Sandbox Code Playgroud)
你可以看到应该调用哪个回调URL.
它可能是http://yoururl.com/oauth=someRandomString或http://yoururl.com/not_approved=true.
根据此URL,您可以知道发生了什么(即app(未)授权),然后根据需要做任何您想做的事情.
希望这可以帮助别人!