Google API - DocumentList - 创建共享链接

时间:2011-09-16 13:59:38

标签: google-api

使用Document List API v3.0,我已经创建了一个文档。但现在我想使用共享链接私下分享它。

协议指南表明我应该像这样建立一个POST请求:

POST /feeds/default/private/full/<resource_id>/acl
GData-Version: 3.0
Authorization: OAuth <access_token>

<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl='http://schemas.google.com/acl/2007'>
  <category scheme='http://schemas.google.com/g/2005#kind'
    term='http://schemas.google.com/acl/2007#accessRule'/>
  <gAcl:role value='writer'/>
  <gAcl:scope type='user' value='new_writer@example.com'/>
</entry>

但我对Scope有疑问。指南清单4:

  • user - 用户的电子邮件地址。 =&GT;我想要一个链接,我甚至不知道在流程结束时访问该文档的人的电子邮件地址。
  • 群组 - Google群组电子邮件地址。 =&GT;我不使用任何小组。
  • 域 - Google Apps域。 =&GT;我没有使用域名。
  • 默认 - 与所有用户公开分享。 =&GT;我不希望该文件公开。

那么我应该使用什么范围来通过共享链接访问私人文档?

1 个答案:

答案 0 :(得分:3)

根据我的理解,我需要使用默认范围,然后将角色限制为特定密钥。

POST /feeds/default/private/full/<resource_id>/acl
GData-Version: 3.0
Authorization: OAuth <access_token>

<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gAcl='http://schemas.google.com/acl/2007'>
<category scheme='http://schemas.google.com/g/2005#kind'
 term='http://schemas.google.com/acl/2007#accessRule'/>
  <gAcl:withKey key='dummy_key'>
     <gAcl:role value='writer'/>
  </gAcl:withKey>
  <gAcl:scope type='default'/>
</entry>

Google API Documentation doesn't explain at all关键属性应该包含哪些内容。但好消息是,我只是将一个随机字符串和文件apear用共享链接访问,而不是整个公众都可以访问。

现在可以使用以下URL访问该文档:

https://docs.google.com/document/d/<untyped_ressource_id>/edit?hl=en_GB

对于reccord,如果我想让公众可以访问该文档(引用等),我只需删除withKey Part:

POST /feeds/default/private/full/<resource_id>/acl
GData-Version: 3.0
Authorization: OAuth <access_token>

<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gAcl='http://schemas.google.com/acl/2007'>
<category scheme='http://schemas.google.com/g/2005#kind'
 term='http://schemas.google.com/acl/2007#accessRule'/>
  <gAcl:role value='writer'/>
  <gAcl:scope type='default'/>
</entry>