使用Google Drive网络界面,我右键点击一个文件,选择'共享',进入“共享设置”。我将该文件设置为“在网络上公开 - 互联网上的任何人都可以查找和查看。”在Google云端硬盘中共享文件
我再复制“链接共享”,在这种情况下,它是: https://docs.google.com/open?id=0B6Cpn8NXwgGPbFBPMEh5VHc1cUU
我,然后点击“完成”。
如果我打开另一个浏览器,没有cookies,并尝试访问该链接,我将被重定向到Google的登录页面。我认为这个设置意味着不需要认证来查看文件。这是预期的行为?
我试图通过API来做同样的事情,并且在将权限设置为public,设置'anyone'为'reader',以及使用webContentLink值作为文件时,我没有获得预期的结果发布的网址。同样在这种情况下,如果我在未登录Google Apps时转到链接,我将被重定向到登录。
我叫下面的方法使用设置权限如下:
thePermission = insert_permission(userNickName,file['id'],"me","anyone","reader")
方法:
def insert_permission(userNickName,file_id, value, perm_type, role):
credentials = get_stored_credentials(userNickName)
service = CreateDrive(credentials)
if service is None:
return
"""Insert a new permission.
Args:
service: Drive API service instance.
file_id: ID of the file to insert permission for.
value: User or group e-mail address, domain name or None for 'default'
type.
perm_type: The value 'user', 'group', 'domain' or 'default'.
role: The value 'owner', 'writer' or 'reader'.
Returns:
The inserted permission if successful, None otherwise.
"""
new_permission = {
'value': value,
'type': perm_type,
'role': role
}
try:
return service.permissions().insert(
fileId=file_id, body=new_permission).execute()
except errors.HttpError, error:
print 'An error occurred: %s' % error
return None
我问的UI界面主要是这个问题,因为它似乎更简单的找到如果我期待使用Google做出的正确结果。
这是一个编程问题? – 2012-08-08 04:10:11
好问题,亚历克斯,它实际上与编程有关。我已经编辑了这个问题来说明清楚。 – user1501783 2012-08-08 04:39:04
绝对是主题。你可以向API显示请求来设置权限吗? – 2012-08-09 05:27:32