String userRootId = userCredential.drive().files().get( "root" ).setFields( "id" ).execute().getId();
返回正确的标识符。当我使用服务帐户复制文件时,我可以全天在团队驱动器中复制。当我将它复制到用户的驱动器时,我得到的是“File not found:$UserRootid”。
我假设这是由于服务帐户无法访问用户的“我的驱动器”。我怎样才能让这个手术奏效?有人尝试过吗?
好的,我找到了一种实现的方法。我有目标用户驱动器的访问/刷新令牌。如果你没有,我不知道你怎么能让它工作。步骤如下:
>
获取服务帐户根,使用:
String serviceRootId = this.serviceManager.drive().files().get( "root" ).setFields( "id" ).execute().getId();
使用服务帐户复制文件
下面是https://github.com/google/google-api-nodejs-client的代码。 一般问题:刷新令牌实际上如何与访问令牌一起工作? 背景:根据我的解释,每个访问令牌都有一个有限的时间跨度(~1小时)。因此,当用户第一次连接到我的服务器(服务器为用户身份验证提供了机制)时,服务器将收到有限生命期访问令牌和一次性刷新令牌。1小时后,访问令牌过期。 谢了!
我为我的帐户name@steelkiwi.com(谷歌应用程序)创建了服务帐户,我的应用程序运行良好。然后我为我的个人帐户name@gmail.com创建了服务帐户,为我的应用程序使用这个新的凭据,现在当我试图插入文件时,我得到错误500和下一个文本: HttpError 500请求https://www.googleapis.com/upload/drive/v2/files时?quotause
我是否需要登录到google cloud来访问身份验证令牌或凭据的API
这是我收到的错误