2012-08-08 142 views
4

使用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做出的正确结果。

+0

这是一个编程问题? – 2012-08-08 04:10:11

+0

好问题,亚历克斯,它实际上与编程有关。我已经编辑了这个问题来说明清楚。 – user1501783 2012-08-08 04:39:04

+0

绝对是主题。你可以向API显示请求来设置权限吗? – 2012-08-09 05:27:32

回答

2

我终于在我的案例中找到了问题。我的GAE应用程序使用“联合登录”作为“身份验证选项”,而不是“Google帐户API”。一切工作与谷歌驱动器API。我可以将文件,删除,移动,你的名字,与Oauth登录。但是现在有一段时间,我一直无法从我的GAE应用程序创建的Google Drive中公开共享文件。如果在未登录到Google Apps的情况下尝试查看这些文件,我总是会提示您登录。

我决定放弃GAE的Oauth登录并使用Google帐户登录,因为每个使用该应用的人都需要Google云端硬盘。将仪表板中的GAE应用从“联合”切换到“Google帐户”后,我可以愉快地向公众共享文件,而无需任何登录。

因此,似乎Google Drive尚未完全支持GAE的“联合登录”,由于“联合登录”显示为实验性,因此几乎没有什么可抱怨的。

+1

,但即使公开,我们的文件不会显示在谷歌搜索的权利?我希望他们出现,你是否设法做到这一点?或者我们必须在描述这些文件的某个网页上发布googleDrive链接,以便通过谷歌搜索实际到达它们? – 2016-09-05 08:29:53

相关问题