Google Drive Drive Document

时间:2017-06-29 14:15:43

标签: google-api google-drive-api

我有一个通过Google开发者控制台创建的服务帐户,专门用于访问Google云端硬盘以检索文档。但是,最近我更改了我的G-suite Google云端硬盘设置,以获得安全限制,即文档只能在我的组织外部共享到列入白名单的域,而不是为了共享而广泛开放。

在此安全设置更改之前,一切工作正常,我的服务帐户访问了特别授予其访问权限的文档。但是,在查看以前可以访问它的文件上的共享设置进行更改后,现在说该帐户无法被授予访问权限,因为策略集禁止向该用户共享项目,因为它不在兼容的列入白名单的域中。

我确实在我的G-suite管理控制台中尝试将gserviceaccount.com列入白名单,但这仍然没有带来好运。

其他人有类似的问题吗?有什么好的解决方案吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可能需要完成Delegating domain-wide authority to the service account中提供的以下步骤:

  1. 转到您的G Suite域名Admin console
  2. 从控件列表中选择安全。如果您未看到列出的安全,请从页面底部的灰色栏中选择更多控件,然后从列表中选择安全控制。如果您看不到控件,请确保以域管理员身份登录。
  3. 从选项列表中选择显示更多,然后选择高级设置
  4. 身份验证部分中选择管理API客户端访问
  5. 客户名称字段中输入服务帐户的客户端ID 。您可以在Service accounts page
  6. 中找到服务帐户的客户ID
  7. 一个或多个API范围字段中,输入应授予您的应用程序访问权限的范围列表。例如,如果您的应用需要对Google Drive API和Google Calendar API进行全域访问,请输入:https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/calendar
  8. 点击授权
  9. 这将授权您的应用以域中的用户身份进行应用程序调用。但请注意:

      

    虽然您可以在从G Suite域运行的应用程序中使用服务帐户,但服务帐户不是G Suite帐户的成员,也不受G Suite管理员设置的域策略的约束。例如,G Suite管理控制台中设置的限制G Suite最终用户在域外共享文档的权限的策略将不适用于服务帐户。

    有关详细信息,请参阅Perform G Suite Domain-Wide Delegation of Authority