В чем разница между ключом API, идентификатором клиента и учетной записью службы?

Мне нужно было получить доступ к сервису Google, то есть к Google Analytics, из моего приложения Symfony 2, поэтому мне пришлось использовать клиент API Google (версия 2). Прежде чем получить доступ к информации Google Analytics, мне пришлось создать ключ API, идентификатор клиента или учетную запись службы в консоли API Google.

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

Мой вопрос:

  1. В чем различия между ключом API, идентификатором клиента и учетной записью службы?

  2. Когда создавать / использовать один поверх другого и почему?

Я не видел ни одной исчерпывающей статьи, которая объясняет, что я спрашиваю в этом вопросе.

8

Решение

API ключи аутентифицироваться для API, которые не имеют доступа к личным данным.

ID клиента аутентифицируется с вашей учетной записью Google.

учетная запись службы проверяет подлинность вашего приложения, когда вы не хотите использовать данные для входа в свою учетную запись (или любую учетную запись реального лица).

Вам все еще нужно добавить учетную запись службы в любую службу Google, к которой вы хотите получить доступ с помощью этой учетной записи службы.

8

Другие решения

Эта тема старая, но все еще добавляет информацию. Может помочь другим в будущем.

Google нужен уникальный идентификатор, чтобы связать его с вашим проектом (с вашим пакетом Android) для аутентификации и для управления трафиком или квотами.

Oauth и ключ API являются такими уникальными идентификаторами.

Идентификаторы клиента OAuth 2.0: Если ваше приложение использует протокол OAuth 2.0, используйте идентификатор клиента OAuth.
OAuth используется для создания токена доступа, который, в свою очередь, является уникальным идентификатором. Тем не менее, пользователь должен согласиться с согласием.
https://developers.google.com/identity/protocols/OAuth2

Ключи API: Ключ API — это уникальный идентификатор, который вы генерируете с помощью консоли. Преимущество в том, что пользователь не требует действий пользователя или согласия. Но вы не можете использовать ключ API для авторизации в отличие от OAuth. Используйте ключ API, если необходимые данные являются общедоступными и не требуют аутентификации пользователя, например карт Google.

Сервисный аккаунт API Google, такие как Prediction API и Google Cloud Storage, могут действовать от имени вашего приложения, не обращаясь к пользовательской информации. В этих ситуациях ваше приложение должно подтвердить свою идентичность API, но согласие пользователя не требуется. Аналогично, в корпоративных сценариях ваше приложение может запрашивать делегированный доступ к некоторым ресурсам.
Для этих типов межсерверных взаимодействий вам нужна служебная учетная запись.
https://developers.google.com/identity/protocols/OAuth2#serviceaccount

6

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector