Drive API v3 的 Google Oauth2 范围请求不起作用
Posted
技术标签:
【中文标题】Drive API v3 的 Google Oauth2 范围请求不起作用【英文标题】:Google Oauth2 scope request for Drive API v3 doesn't work 【发布时间】:2021-05-01 13:37:32 【问题描述】:在我的应用程序中,我需要请求 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
【问题讨论】:
【参考方案1】:终于找到答案了!在 Google API 控制台中,只需将同意屏幕从测试状态中移除并发布即可
从: https://***.com/a/65900011/14990708
【讨论】:
以上是关于Drive API v3 的 Google Oauth2 范围请求不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Google Drive .NET API v3 使用服务帐户访问 Team Drive
Google Drive API v3:没有任何方法可以获取 google 文档的下载 url?