Google drive api 将文件共享级别设置为';任何有链接的人';通过googledriveapi

Google drive api 将文件共享级别设置为';任何有链接的人';通过googledriveapi,google-drive-api,Google Drive Api,怎么做?我是否应该使用Google Docs ACL以及如何配置此类ACL?您必须使用文档列表API来管理共享。请检查位于的文档使用此方法使您的文件对任何人可见: private static Permission insertPermission(Drive service, String fileId) throws IOException { Permission newPermission = new Permission(); newPermission.setType

怎么做?我是否应该使用Google Docs ACL以及如何配置此类ACL?

您必须使用文档列表API来管理共享。请检查位于

的文档使用此方法使您的文件对任何人可见:

private static Permission insertPermission(Drive service, String fileId) throws IOException
{
    Permission newPermission = new Permission();
    newPermission.setType("anyone");
    newPermission.setRole("reader");

    return service.permissions().insert(fileId, newPermission).execute();
}
    private Permission InsertAnyonePermissionToDownload(Google.Apis.Drive.v3.DriveService service, String fileId)
    {
        Permission newPermission = new Permission();
        newPermission.Type = "anyone";
        newPermission.Role = "reader";
        return service.Permissions.Create(newPermission, fileId).Execute();
    }

更多详细信息。

您必须设置以下参数:

private Permission insertPermission(Drive service, String fileId) throws Exception{
   Permission newPermission = new Permission();
   newPermission.setType("anyone");
   newPermission.setRole("reader");
   newPermission.setValue("");
   newPermission.setWithLink(true);
   return service.permissions().insert(fileId, newPermission).execute();
}

对于Google Drive API V3,请使用此方法使您的文件对任何人可见:

private static Permission insertPermission(Drive service, String fileId) throws IOException
{
    Permission newPermission = new Permission();
    newPermission.setType("anyone");
    newPermission.setRole("reader");

    return service.permissions().insert(fileId, newPermission).execute();
}
    private Permission InsertAnyonePermissionToDownload(Google.Apis.Drive.v3.DriveService service, String fileId)
    {
        Permission newPermission = new Permission();
        newPermission.Type = "anyone";
        newPermission.Role = "reader";
        return service.Permissions.Create(newPermission, fileId).Execute();
    }

这使得它公开,并允许任何人找到它。“任何有链接的人”都不会让人们找到它。差别很大。事实上,我刚试过这个。当我在安卓系统上使用驱动程序查看文件时,它会显示“在网络上公开(带有链接)任何拥有链接的人”。这似乎是用户想要的。为完整起见,如果您使用“任何人”和“阅读器”,您可以使用Google.api.Drive.v2.Data.File.WebContentLink(可从service.Files.Insert操作获得)作为链接,允许任何人下载该文件。然后,您可以从“WebContentLink”字段获取共享链接我在这里写了一个循序渐进的指南:欢迎来到SO,Fabricio H.da Rocha!这里不鼓励只使用代码的答案,因为它们无法提供问题是如何解决的。请更新您的解决方案,并解释您的代码如何解决手头的问题:)