首页 > 解决方案 > Drive API v3 的 Google Oauth2 范围请求不起作用

问题描述

在我的应用程序中,我需要请求 Drive API v3 受限范围驱动器。

我设法构建了请求 Email SignInOption,但是当它到达 Scope 请求时,它只会在加载页面上冻结。我尝试了多种类型的范围,但它仍然不起作用。如果我取出 requestScopes 部分,它会完美运行

这是我请求登录的代码

    // Request Google Sign In to user
            
public void requestSignIn () {

            Log.i("UploadFileActivity", "requestUserSignIn");

             
            GoogleSignInOptions signInOptions = new GoogleSignInOptions
                    .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                    .requestScopes(new Scope(DriveScopes.DRIVE))
                    .requestEmail().build()


            // it prints thi, but still doesnt request the scopes
            Log.i("UploadFileActivity", "requestUserSignIn");

            GoogleSignInClient client = GoogleSignIn.getClient(this, signInOptions);

            startActivityForResult(client.getSignInIntent(), 2);
    }

这是我的毕业典礼

// drive api dependencies
    implementation 'com.google.http-client:google-http-client-gson:1.26.0'
    implementation('com.google.api-client:google-api-client-android:1.26.0') {
        exclude group: 'org.apache.httpcomponents'
    }
    implementation('com.google.apis:google-api-services-drive:v3-rev136-1.25.0') {
         exclude group: 'org.apache.httpcomponents'
    }
    implementation 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'pub.devrel:easypermissions:0.3.0'

    implementation 'com.google.android.gms:play-services-drive:17.0.0'
    implementation 'com.google.api-client:google-api-client:1.30.10'
    implementation 'com.google.android.gms:play-services-auth:19.0.0'

有人知道可能导致此错误的原因吗?

编辑:我看到有一个关于这样的问题的跟踪报告: https ://issuetracker.google.com/issues/178183308

标签: androidandroid-studiogoogle-drive-apigoogle-signingoogle-drive-android-api

解决方案


终于找到答案了!在 Google API 控制台中,只需从测试状态中删除同意屏幕并发布即可

来自: https ://stackoverflow.com/a/65900011/14990708


推荐阅读