Получение ошибки 401 с использованием документов Google API для получения / чтения данных - PullRequest
1 голос
/ 06 мая 2020

Я использовал эту ссылку для чтения / получения данных документа Google docs.

ПРИМЕЧАНИЕ. Я изменил идентификатор документа и ключ API из соображений безопасности.

URL что я использую

https://docs.googleapis.com/v1/documents/1oGPxB3BFf9XSAfe23lqY7OzYkn9_xvXaOQCGjBZEHmS4RSr21Y?key=AIzaSyDk5yXM8zFfg7KIgercswedLYD1bZO6zBue2tO0fk

Ошибка, которую я получил

{
  "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"
  }
}

Ответы [ 2 ]

1 голос
/ 06 мая 2020

{"error": {"code": 401, "message": "В запросе отсутствуют необходимые учетные данные аутентификации. Ожидаемый токен доступа OAuth 2, логин Cook ie или другие действительные учетные данные аутентификации. См. https://developers.google.com/identity/sign-in/web/devconsole-project. "," Status ":" UNAUTHENTICATED "}}

Означает, что вызываемый вами метод требует авторизации и ваш вызов не был аутентифицирован.

Если вы проверите документацию для document.get

, вы увидите, что этот метод требует авторизации для доступа к enter image description here

Методы которые требуют авторизации, должны быть доступны с помощью заголовка авторизации.

Ключи API используются для доступа к данным publi c. Если это ваш собственный файл, и вы будете иметь доступ только к этому файлу, то я предполагаю, что вы изучаете возможность использования учетной записи службы. Учетные записи служб могут быть предварительно авторизованы, чтобы вы могли получить к ним доступ без предоставления пользователю доступа к вашему приложению.

Если это файл, принадлежащий пользователю вашего приложения, вам нужно будет использовать OAuth2 и запросить доступ у пользователя.

0 голосов
/ 06 мая 2020

К сожалению, на текущем этапе API Документов Google не может использоваться ключом API. Такая ошибка возникает даже при использовании метода GET. Я думаю, что это текущая спецификация. Итак, как насчет следующих обходных путей?

1. Используйте токен доступа.

Используйте токен доступа, полученный OAuth2 и учетной записью службы. Таким образом можно использовать API Документов. Я думаю, что это рекомендованный способ со стороны Google.

2. Используйте веб-приложения.

Кроме того, вы можете достичь своей цели, используя веб-приложения, созданные с помощью скрипта Google Apps в качестве API. В этом случае вы можете получить доступ к веб-приложениям без токена доступа. Кроме того, вы также можете получить к нему доступ, используя уникальный ключ.

Примечание:

  • Docs API сейчас растет. Так что это может быть решено в будущем обновлении. Но на текущем этапе, например, вы можете запросить это в системе отслеживания проблем в качестве будущего запроса. Ссылка

Ссылки:

...