我正在尝试按照here和here所述授权vk.com用户(OAuth 2.0)。问题是:每当我看到一个空白屏幕时,除了单独调用GC之外似乎没有任何事情发生。我测试了我的WebView,它显示任何以 https 开头的地址,没有任何问题。我想我的URL无效但我也没有看到任何错误消息,看起来WebView只是不显示授权对话框。我对OAuth系统不熟悉,非常感谢任何帮助。代码低于
P.S。我使用位掩码8因为我只需要访问用户的音频。
private static final String ACCESS = "https://oauth.vk.com/authorize?client_id=123456&redirect_uri= https://oauth.vk.com/blank.html/&display=touch&response_type=token&scope=8";
private WebViewClient mWebClient = new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
};
web = (WebView)findViewById(R.id.webView1);
web.setWebViewClient(mWebClient);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl(ACCESS);
答案 0 :(得分:1)
刚想通了。发布作为答案,因为可能有开发人员有兴趣访问vk.com。来自Android设备的正确授权请求如下:
private final String VK_AUTH = "https://oauth.vk.com/authorize?client_id=123456&redirect_uri=https://oauth.vk.com/blank.html&scope=8&display=touch&response_type=token ";