我试图创建一个共享驱动器(在谷歌驱动器),使用API v3(通过python客户端库google-api-python-Client)。下面的代码:
import uuid
from googleapiclient.discovery import build
drive_metadata = {'name': 'Test shared drive'}
request_id = str(uuid.uuid4())
drive = service.drives().create(
body=drive_metadata,
requestId=request_id,
fields='id'
).execute()
drive_id = drive.get('id')
print(f'Drive ID: {drive_id}')
但出现了一个错误:
GoogleapClient。错误。HttpError:
错误是直观的,但我的问题是关于我需要给API用户帐户的正确权限,因为:
因此,我有两个问题:
正如DalmTo所说,将域范围内的权限委托给服务帐户,并模拟用户帐户,wich有创建共享驱动器的特权,那么API工作正常(更好的是:所有通过模拟创建的工件都显示为由模拟用户创建)。
你可以在这里看到如何做到这一点:https://developers.google.com/identity/protocols/oauth2/service-account#delegatingauthority
谢谢DalmTo!
是否可以使用服务帐户创建共享驱动器?。 由于没有UI服务号创建文件/文件夹,我需要一些方法 /APIs支持创建共享驱动器。 我可以在服务号下创建孩子(文件和文件夹),但不确定如何使用服务号创建共享驱动器。 向你问好,索拉夫
我为我的帐户name@steelkiwi.com(谷歌应用程序)创建了服务帐户,我的应用程序运行良好。然后我为我的个人帐户name@gmail.com创建了服务帐户,为我的应用程序使用这个新的凭据,现在当我试图插入文件时,我得到错误500和下一个文本: HttpError 500请求https://www.googleapis.com/upload/drive/v2/files时?quotause
因此,我已将服务号设置为域范围的授权,如本文所述执行谷歌办公套件域范围的授权。在谷歌办公套件管理控制台中,我已授权服务号使用OAuth 2.0范围: 每次我试图创建一个事件,最终都会出现这个错误 这建立了google凭据,不使用模拟,日历与服务号共享。
我想使用谷歌驱动器作为一个网站的准CMS工作,我正在使内容所有者可以编辑他们的内容使用谷歌驱动器。我希望使用一个可以访问Google Drive的特定用户帐户(在写这篇文章时,服务帐户不能直接访问Google Drive),并且能够与内容所有者共享文档。 在阅读了API和教程之后,我在委托中找到了答案:https://developers.google.com/drive/development
我正面临着以下问题:我已经创建了一个谷歌服务帐户,现在我正在尝试使用c#对谷歌API和YouTube数据API进行授权API调用。以下是我的示例代码: 代码生成成功,但当我启动程序时,我收到以下错误消息: 系统.IO.File未发现异常:“无法加载文件或程序集”弹跳卡思加密,版本=1.7.4137.9688,区域性=非特定,公钥令牌=a4292a325f69b123“或其依赖项之一。系统找不到指定