Как читать данные с помощью API электронных таблиц, не используя oauth2 - PullRequest
0 голосов
/ 13 февраля 2020

Это еще одна ошибка 403 в Google Sheets API. Я пытаюсь прочитать данные из электронной таблицы и представить их на веб-сайте, используя некоторые пользовательские фильтры HTML.

Итак, возникает вопрос: Ошибка 403 в API Google Sheets

Тем не менее, я не могу понять, что делать. Я настроил свою учетную запись службы в облачной платформе Google, предоставил ей разрешения на доступ к моей электронной таблице - я даже сделал свою электронную таблицу доступной по ссылке (но это ограничено электронными письмами из моей организации, поэтому в любом случае она кажется бесполезной). Я также активировал общедоменное делегирование для своей учетной записи службы - не имеет никакого значения вообще. Я почти уверен, что проблема не связана с неправильным ключом или какой-либо опечаткой, потому что, когда я удаляю доступ к сервисному электронному письму с листа, я получаю сообщение об ошибке 403, но оно приходит с сообщением о том, что вызывающий абонент не ' у меня нет доступа к этой таблице.

Люди продолжают упоминать OAuth, но я не хочу его использовать, поскольку я собираюсь использовать простой доступ к API, как в этом примере Google GitHub . Я использую свою бизнес-учетную запись, поэтому может возникнуть некоторая проблема, связанная с этим.

Вот HTML (который я запускаю с простого HTTP-сервера на python, а не напрямую, учитывая тот факт, что GAPI не очень хорошо обрабатывает localhost/ источников):

<!DOCTYPE html>

  
    Google Sheets API Quickstart
    
  
  
    Google Sheets API Quickstart

    <!--Add buttons to initiate auth sequence and sign out-->
    
    

    

1 Ответ

0 голосов
/ 18 февраля 2020

Если вы попытаетесь получить доступ к электронной таблице, которая не публикуется c, вам придется использовать OAuth 2.0 . Поскольку это не общедоступный c ресурс, вы должны использовать учетные данные учетной записи, которая имеет доступ к этому ресурсу .

В приведенном вами примере они обращаются к ресурсу publi c, поэтому достаточно ключа API. Это не ваш случай.

Справка:

...