使用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:
那么我应该使用什么范围来通过共享链接访问私人文档?
答案 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>