Получение «Введите действительный json» при вводе заголовков для HTTP с Azure AD в Microsoft Flow / Power Automate - PullRequest
0 голосов
/ 14 января 2020

Я работаю над настройкой потока, который будет отправлять запрос API на защищенный API. Поскольку это требует аутентификации, я использую HTTP с Azure AD. Я могу войти в систему правильно, и мне кажется, что я получаю код авторизации:

enter image description here

Я хочу обменять этот код на токен доступа, поэтому я вызываю этот HTTP-запрос:

enter image description here

Он жалуется на то, что заголовки не являются действительными json. Я также не уверен, что включить в тело, чтобы обменять код авторизации на токен доступа.

1 Ответ

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

Поскольку я не очень разбираюсь в этом соединителе, поэтому мне жаль, что я не могу объяснить вам, почему ваши API-вызовы все еще требуют входа (что вы спрашивали в предыдущем посте). Но если только для вопросов и скриншота, которые вы предоставили выше, я могу предоставить некоторые рекомендации для вашей справки.

В Power-Automation вы можете добавить действие «Initialize variable» для инициализации переменной с именем «header» и установите значение, показанное на скриншоте ниже: enter image description here

Затем вы можете использовать действие "Parse JSON" для анализа этой переменной (преобразовать ее в формат json) enter image description here

Теперь вы можете использовать "Body" из "Parse JSON" в качестве значения поля "Headers" в вашем "Invoke a HTTP request". Это решит проблему того, что заголовки не являются действительными json.

Для значения «Тело запроса» вы можете указать значение, указанное в предыдущем сообщении:

grant_type=password&client_id=xxxxx&scope=xxxxx&username=xxxxx&password=xxxxxclient_secret=xxxxx

Надеюсь, это поможет вашей проблеме ~

...