2

我正在尝试按照此处此处的描述授权 vk.com 用户(OAuth 2.0) 。问题:每次我只看到一个空白屏幕时,除了对 GC 的一次调用似乎什么都没有发生。我测试了我的 WebView,它显示任何以https开头的地址,没有任何问题。我猜我的 URL 无效,但我也没有看到任何错误消息,看起来 WebView 只是不显示授权对话框。我不熟悉 OAuth 系统,非常感谢任何帮助。代码如下

PS 我使用位掩码 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);
4

1 回答 1

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 ";
于 2013-02-24T15:58:59.700 回答