Доступ к API-интерфейсу хранилища данных Google с использованием ключа API

Когда я пытаюсь использовать API сброса хранилища данных с ключом API, я получаю следующее:

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

}

Мой URL выглядит следующим образом: https://datastore.googleapis.com/v1/projects/{my_project_id}:beginTransaction?key={my_api_key}

В документации вы можете использовать ключ oauth или API, но я не вижу способа ввести ключ API на этой странице: https://cloud.google.com/datastore/docs/reference/data/rest/v1/projects/beginTransaction

Как использовать свой ключ API для доступа к API хранилища данных?


person Håkan Johansson    schedule 30.04.2018    source источник


Ответы (1)


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

Таким образом, вам нужно использовать аутентификацию OAuth2, а не ключи API (авторизацию). Дополнительную информацию см. в разделе Области авторизации на этой справочной странице.

Обратите внимание, что инструмент «Попробуйте этот API» просто помогает вам узнать, как работает API, а не заставляет вас всегда поступать правильно, поэтому он позволяет вам использовать только ключ API.

person John    schedule 04.05.2018