Как создать лист Google с доступом publi c с помощью программирования - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь создать лист Google с доступом publi c с использованием PHP. На данный момент я создаю лист Google для недавно вставленного кода. Пользователь может загрузить лист Google.

Но теперь я хочу дать разрешение по умолчанию для публикации c на динамически создаваемый лист Google с помощью кода. Возможно ли это в гугл листе?

Вот код

// Creating new spreadsheet
$spreadsheet = new Google_Service_Sheets_Spreadsheet([
    'properties' => [
        'title' => "$sheet_name"
    ]
]);
$spreadsheet = $service->spreadsheets->create($spreadsheet, [
    'fields' => 'spreadsheetId'
]);
$sheet_id = $spreadsheet->spreadsheetId;

//End Creating new spreadsheet

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020
  • Для программного создания разрешений вам нужен метод Разрешения: создать
  • Получив разрешение sheet_id, создайте разрешение с помощью permissions->insert()
  • Задайте роль по своему усмотрению (например, reader, writer, ...)
  • Для доступности файла Pulib - укажите тип как anyone

Пример использования реализовать это в php:

$newPermission= new Google_Service_Drive_Permission();
$newPermission->setType('anyone');
$newPermission->setRole('reader');
$service->permissions->insert($sheet_id,$newPermission);
0 голосов
/ 17 апреля 2020

Если вы собираетесь использовать ключ API для внесения изменений в лист. Ответ вы не можете.

Вы должны иметь аутентифицированный доступ через Oauth2 или учетную запись службы. используя одну из следующих областей для внесения любых изменений с помощью API.

Publi c означает, что каждый может загрузить и просмотреть его и, возможно, внести изменения через веб-приложение Sheets. Чтобы изменить его с помощью API, требуется доступ.

Вы можете создать лист, а затем использовать API-интерфейс google drive, чтобы обновить разрешения на листе, чтобы сделать его опубликованным c, но опять же, это не произойдет чтобы позволить вам написать в него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...