当我运行以下代码时,该代码取自:https://developers.google.com/drive/api/v3/manage-shareddrives#python
# Create a new drive
test_drive_metadata = {'name': 'Test Drive'}
request_id = str(uuid.uuid4())
test_drive = self.service.drives().create(
body=test_drive_metadata,
requestId=request_id,
fields='id'
).execute()
我得到“用户对该文件没有足够的权限。”如果创建文件,列出共享驱动器或其他任何内容,则不会发生这种情况。除['https://www.googleapis.com/auth/drive']外,没有其他必需的范围。
应注意,我正在使用服务帐户。是否不允许服务帐户创建共享驱动器?据我所知,在任何情况下都没有对此进行记录。
关于此限制,似乎没有任何明确的文档,但是考虑到服务帐户(不使用DWD和模拟功能)应该用于管理[[应用程序数据,而不是用户数据,因此它们不能用于管理与普通用户共享的数据。
此外,根据the official documentation,似乎不建议使用服务帐户来管理共享文档:使用服务帐户作为公共所有者来创建许多共享文档可能会严重影响性能。
另一方面,由于与常规帐户相比,服务帐户具有某些限制(例如,在Calendar中创建事件),所以这可能是这些限制之一。
无论如何,为了确保是这种情况,建议您
在this Issue Tracker component中报告此行为]。
参考: