Вопрос по google-drive-sdk – Установите уровень общего доступа к файлам «Любой, у кого есть ссылка» через Google Drive API

7

Как это сделать? Должен ли я использовать Google Docs ACL и как настроить такой ACL?

Ваш Ответ

4   ответа
4

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();
}

ПодробнееВот.

На самом деле, я только что попробовал это. Когда я смотрю на файл с помощью приложения «Драйвер» на моем Android, он говорит: «Публично в Интернете (со ссылкой). Любой, у кого есть ссылка». Похоже, это то, что хотел пользователь.
Ради полноты, если вы используете «кто угодно» и & quot; читатель & quot; вы можете использовать Google.Apis.Drive.v2.Data.File.WebContentLink (доступно из операции service.Files.Insert) в качестве ссылки, позволяющей любому пользователю загрузить файл.
Благодарю. это работает для меня
Это делает его общедоступным и позволяет любому найти его. & quot; Любой, у кого есть ссылка & quot; не позволяет людям найти его. Большая разница.
0

чтобы сделать ваш файл видимым для всех:

    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();
    }
Добро пожаловать в ТА, Фабрицио Х. да Роча! Здесь не рекомендуется отвечать только на код, так как они не дают представления о том, как проблема была решена. Пожалуйста, обновите ваше решение с объяснением того, как ваш код решает проблему под рукой :)
19

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();
}
Затем вы можете получить ссылку для обмена в поле & quot; webContentLink & quot;
Я написал пошаговое руководство здесь:stackoverflow.com/questions/18917828/…
1

использованием. Пожалуйста, проверьте документы наhttps://developers.google.com/google-apps/documents-list/#managing_sharing_permissions_of_resources_via_access_control_lists_acls

Похожие вопросы