Ошибка 401 (не аутентифицирована) при отправке запроса в Google Docs API - PullRequest
1 голос
/ 15 января 2020

Я пытаюсь запросить содержимое Google do c (которым я владею) с помощью API Документов Google, и содержимое будет считано на веб-сайте. Я делаю следующий запрос в Postman:

GET https://docs.googleapis.com/v1/documents/{documentId}?key=API_KEY

, где API_KEY - это ключ, созданный на панели инструментов разработчика Google, и на данный момент он не ограничен. Однако я получаю следующую ошибку:

    {
  "error": {
    "code": 401,
    "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  }
}

Я сделал do c publi c (доступ для чтения без входа в систему) и включил Docs API на панели инструментов разработчика Google. Кроме того, приборная панель регистрирует эти (ошибочные) запросы, поэтому что-то проходит. Ответ, вероятно, содержится в сообщении об ошибке, но для меня «или другие действительные учетные данные аутентификации» означает ключ API, который я уже использую.

Я прошу совета о том, как успешно выполнить этот запрос без необходимости использования OAuth или кода на стороне сервера.

Ответы [ 2 ]

0 голосов
/ 22 марта 2020

Да, вы можете открыть do c программно, используя служебную учетную запись. Вам необходимо «поделиться» do c с электронной почтой учетной записи службы.

Инструкции по созданию учетной записи службы и чтению Google do c: https://www.futurice.com/blog/read-goog-doc-using-service-account

0 голосов
/ 15 января 2020

Я нашел обходной путь к моей проблеме, хотя он не решил проблему с Docs API. Вместо этого я решил запросить текстовые данные у Google Sheet, который отлично работает с

GET https://sheets.googleapis.com/v4/spreadsheets/documentId?key=API_KEY

, когда лист опубликован c и доступен только для чтения.

...