【问题标题】:Google Drive API Share document for offline writing/updating用于离线编写/更新的 Google Drive API 共享文档
【发布时间】:2018-09-22 08:23:48
【问题描述】:

我创建了一个网络应用程序,它使用 Google Drive API/REST v2 (https://developers.google.com/drive/v2/web/about-sdk) 来执行诸如创建/更新/重命名/删除文档等操作。 我正在使用 OAuth 2.0 授权请求(客户端 - 这意味着每个访问令牌在 ~1h 内有效,然后我正在默默地获取一个新令牌),然后使用该令牌执行以前的操作。

我有一个新要求,授权用户共享他/她的文档以编写/更新它们(我发现 API 具有插入权限的选项(https://developers.google.com/drive/v2/reference/permissions/insert:角色:作者,类型:任何人)。

未经身份验证的用户是否可以编写/更新从共享这些经过身份验证的用户创建的文档(以编程方式 - 通过 Google Drive API v2 或其他 API?)? (当用户共享他的文档并且离线用户能够编辑它时,类似于 google docs/sharing 的东西?

谢谢。

【问题讨论】:

    标签: google-drive-api google-oauth oauth2client google-api-javascript-client


    【解决方案1】:

    未经身份验证的用户是否可以编写/更新从共享这些经过身份验证的用户创建的文档(以编程方式 - 通过 Google Drive API v2 或其他 API?)? (当用户共享他的文档并且离线用户能够编辑它时,类似于 google docs/sharing 的东西?

    您在这里描述的是一种称为服务帐户的东西。服务帐户就像虚拟用户。您可以与服务帐户电子邮件地址共享您的 Google 云端硬盘帐户中的文件,然后服务帐户将有权访问该文件。假设您授予他们编辑权限,它将能够在不进行身份验证的情况下对其进行读取和写入。

    注意:服务帐户在客户端不起作用,您需要使用服务器端语言才能使用服务帐户。

    【讨论】:

    • 谢谢,我运行了一个小例子,似乎可以正常工作(我在 GDrive 帐户上手动与 gserviceaccount 共享我的文档,然后通过 Java GoogleCredentials / DriveService 等获取这些文档并执行一些更新操作)。我想以编程方式共享也是可能的?
    • 与我的新服务帐户共享文档时,我收到了我的电子邮件(谷歌作者帐户)传递状态通知(失败)响应是:DNS 错误:18579231 DNS 类型 'mx' 查找 yyyyyyy .iam.gserviceaccount.com 响应代码 NXDOMAIN 未找到域名:yyyyyyy.iam.gserviceaccount.com 我可以进行任何配置以避免在共享期间发送电子邮件吗??
    • 不,我很确定它是自动的。
    猜你喜欢
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    相关资源
    最近更新 更多