Использование Postman для доступа к API Google OAuth 2.0

Я пытаюсь получить доступ к Proximity Google API с помощью Postman chrome app. Я следил за учебниками по почтовому ящику и веб-сайту google dev, но я все еще получаю сообщение об ошибке 401.

Что я делаю?

  • Шаг 1 - Включить API проксимити:

Чтобы использовать API Proximity, он должен быть сначала включен в консоли Google Dev. Используя этот учебник Я включил поддержку API Proximity для моего проекта

  • Шаг 2 - Получить учетные данные:

Согласно этому учебнику, мне нужно получить идентификатор клиента и секрет. Здесь я смущен. Учетные данные- > Добавить учетные данные- > Идентификатор клиента OAuth2.0- > выберите переключатель Chrome App (поскольку я использую Postman) → введите последнюю часть URL-адреса веб-магазина Postman Chrome [который является fhbjgbiflinjbdggehcddcbncdddomop] → hit create button Эти шаги будут генерировать только идентификатор клиента, а не секрет.. я что-то не так сделал?

С консоли Google Dev можно загрузить файл JSON с идентификатором клиента, URI URI и URI Token введите описание изображения здесь

Я загрузил это, но это мало помогает, если я использую Postman. Я предполагаю, что этот JSON файл является тем, что может быть включено в JS-приложение.

  • Шаг 3 - Используйте Postman для тестирования API

введите описание изображения здесь

Что я получаю? введите описание изображения здесь

И, как только я нажимаю на URL отладки, я вижу следующий экран

введите описание изображения здесь

Ответ 1

Лучший способ, который я нашел до сих пор, - это пойти на площадку Oauth здесь: https://developers.google.com/oauthplayground/

  • Выберите соответствующую категорию api google, а затем выберите область внутри этой категории в пользовательском интерфейсе.
  • Получите код авторизации, нажав синюю кнопку авторизации API. Код авторизации Exchange для токена, нажав синюю кнопку.
  • Сохраните маркер OAuth2 и используйте его, как показано ниже.

В заголовке HTTP для запроса API REST добавьте: "Authorization: Bearer". Здесь Авторизация - это ключ и "Знамя". Например: "Авторизация: Bearer za29.KluqA3vRtZChWfJDabcdefghijklmnopqrstuvwxyz6nAZ0y6ElzDT3yH3MT5"

Ответ 2

Почтальон будет запрашивать Google API, выдавая себя за веб-приложение

Создайте токен OAuth 2.0:

  1. Убедитесь, что API Google включены
  2. Создайте идентификатор клиента OAuth 2.0

    • Перейдите в Консоль Google → API → Экран согласия OAuth
      • Добавьте getpostman.com к Авторизованным доменам. Нажмите Сохранить.
    • Перейдите в Консоль Google → API → Учетные данные
      • Нажмите "Создать учетные данные" → Идентификатор клиента OAuth → Веб-приложение.
        • Имя: "getpostman"
        • URI авторизованного перенаправления: https://www.getpostman.com/oauth2/callback
    • Скопируйте сгенерированный Client ID Client secret поля Client secret для дальнейшего использования.
  3. В Почтальоне выберите вкладку Авторизация и выберите тип "OAuth 2.0". Нажмите "Получить новый токен доступа"

    • Заполните форму GET NEW ACCESS TOKEN следующим образом
      • Имя токена: 'Google OAuth getpostman'
      • Тип гранта: "Код авторизации"
      • URL обратного вызова: https://www.getpostman.com/oauth2/callback
      • URL авторизации: https://accounts.google.com/o/oauth2/auth
      • URL токена доступа: https://accounts.google.com/o/oauth2/token
      • Идентификатор клиента: идентификатор Client ID созданный на шаге 2 (например, "123456789012-abracadabra1234546789blablabla12.apps.googleusercontent.com")
      • Секрет клиента: Секрет Client secret сгенерированный на шаге 2 (например, 'ABRACADABRAus1ZMGHvq9R-L')
      • Область действия: см. Документы Google для определения необходимой области OAuth (например, https://www.googleapis.com/auth/cloud-platform).
      • Состояние: Пусто
      • Аутентификация клиента: "Отправить как заголовок базовой аутентификации"
    • Нажмите "Запросить токен" и "Использовать токен"
  4. Установите метод, параметры и тело вашего запроса в соответствии с документацией Google.

Ответ 3

  1. перейдите на страницу https://console.developers.google.com/apis/credentials.
  2. создать учетные данные веб-приложения.

Почтальон API Доступ

  1. используйте эти настройки с oauth2 в Почтальоне:

SCOPE = https://www.googleapis.com/auth/admin.directory.userschema

пост https://www.googleapis.com/admin/directory/v1/customer/customer-id/schemas

{
  "fields": [
    {
      "fieldName": "role",
      "fieldType": "STRING",
      "multiValued": true,
      "readAccessType": "ADMINS_AND_SELF"
    }
  ],
  "schemaName": "SAML"
}
  1. чтобы исправить использование пользователя:

SCOPE = https://www.googleapis.com/auth/admin.directory.user

PATCH https://www.googleapis.com/admin/directory/v1/users/[email protected]

 {
  "customSchemas": {
     "SAML": {
       "role": [
         {
          "value": "arn:aws:iam::123456789123:role/Admin,arn:aws:iam::123456789123:saml-provider/GoogleApps",
          "customType": "Admin"
         }
       ]
     }
   }
}

Ответ 4

Я понял, что я не генерирую учетные данные для правильного типа приложения.
Если вы используете Postman для тестирования API Google oAuth 2, выберите
Учетные данные → Добавить учетные данные → Идентификатор клиента OAuth2.0 → Веб-приложение.

enter image description here

Ответ 5

Это старый вопрос, но у него нет выбранного ответа, и я сам решил эту проблему. Вот мое решение:

  1. Убедитесь, что вы в первую очередь настроены на работу с Google API. См. Список требований Google. Я работал с Google Мой бизнес, так что я прошел через это НАЧАТЬ процесс.

  2. На игровой площадке OAuth 2.0 на шаге 1 необходимо выбрать, какой API вы хотите аутентифицировать. Выберите или введите в зависимости от случая (в моем случае для Google My Business мне пришлось ввести https://www.googleapis.com/auth/plus.business.manage в поле ввода "Ввести свои собственные области"). Примечание. Это то же самое, что описано в шаге 6 раздела "Создание простого HTTP-запроса" руководства " Начало работы".

  3. В случае успешной аутентификации вы должны получить "токен доступа", возвращенный на шаге "Результат шага 1" на площадке OAuth. Скопируйте этот токен в буфер обмена.

  4. Откройте Почтальон и откройте любую нужную вам коллекцию.

  5. В Почтальоне убедитесь, что в качестве типа запроса выбран "GET", и нажмите вкладку "Авторизация" под раскрывающимся списком типов запросов.

  6. В раскрывающемся меню "ТИП" авторизации выберите "Токен на предъявителя"

  7. Вставьте ранее скопированный "токен доступа", который вы скопировали с игровой площадки OAuth, в поле "токен", которое отображается в "Почтальоне".

  8. Почти готово! Чтобы проверить, что все работает, поместите https://mybusiness.googleapis.com/v4/accounts/ в основную строку ввода URL-адреса в Postman и нажмите кнопку "Отправить". В ответ вы должны получить список учетных записей JSON, который выглядит примерно так:

    
    {
        "accounts": [
            {
                "name": "accounts/REDACTED",
                "accountName": "REDACTED",
                "type": "PERSONAL",
                "state": {
                    "status": "UNVERIFIED"
                }
            },
            {
                "name": "accounts/REDACTED",
                "accountName": "REDACTED",
                "type": "LOCATION_GROUP",
                "role": "OWNER",
                "state": {
                    "status": "UNVERIFIED"
                },
                "permissionLevel": "OWNER_LEVEL"
            }
        ]
    }