Сделать электронную таблицу общедоступной с помощью Google Sheets API?

Я хотел бы программно создать лист Google с помощью API Google Sheets, сделать его общедоступным и встроить в IFRAME на веб-странице.

Я не могу понять, как сделать таблицу общедоступной с помощью API. Есть ли настройка для этого в API при создании или обновлении электронной таблицы?

Я следил за Google Python Quickstart и смог создавать и обновлять электронные таблицы.

Обновлять:

Используя Drive API, я могу сделать электронную таблицу общедоступной и получить к ней доступ из других учетных записей. Однако это не позволяет вам встраивать его в веб-страницу (в нем по-прежнему указано «К сожалению. Этот документ не опубликован во фрейме»). Для этого должен быть другой параметр. Можно ли настроить это с помощью Drive API?

FWIW вот что я смог сделать, чтобы сделать его общедоступным (но все еще не могу встроить лист в iframe)

SCOPES = ['https://www.googleapis.com/auth/spreadsheets',
          'https://www.googleapis.com/auth/drive.metadata',
          'https://www.googleapis.com/auth/drive.file',
          'https://www.googleapis.com/auth/drive']

drive_client = discovery.build('drive', 'v3', http=creds.authorize(Http()))
user_permission = {
    'type': 'anyone',
    'role': 'reader',
}
result =drive_client.permissions().create(
    fileId=sheed_id,
    body=user_permission,
).execute()

person Alex Amato    schedule 14.08.2017    source источник
comment
Зачем это нужно делать через API? Просто откройте свой Google Диск, получите ссылку для обмена, которая никогда не изменится, а затем скопируйте ее куда угодно.   -  person OneCricketeer    schedule 14.08.2017
comment
@ cricket_007 Есть много веских причин; может им нужно публиковать 1000 из них, или по новой каждый день, или ...   -  person Thomas    schedule 14.08.2017
comment
@ Томас А, не думал о масштабируемости   -  person OneCricketeer    schedule 14.08.2017


Ответы (1)


Разрешения являются частью Google Диска и не относятся к таблицам, поэтому вам необходимо использовать Google Drive API для этого. См. справочник.

person Thomas    schedule 14.08.2017
comment
Спасибо, мне удалось сделать его общедоступным, но я не смог встроить его на веб-страницу. Возможно, есть другой параметр для этого, который может быть установлен API? - person Alex Amato; 16.08.2017