Я пытаюсь создать рабочий процесс с помощью Microsoft Flow. Некоторые из моих шагов - выполнение HTTP-запросов с использованием Microsoft Graph API. Проблема, с которой я сталкиваюсь, состоит в том, что некоторые API не поддерживают тип разрешения приложения, а скорее делегированы. Я пытаюсь создать план в Microsoft Planner ( см. Эту ссылку ). В этом сценарии я создал учетную запись службы, которая будет выполнять определенный рабочий процесс, и на стороне приложения Azure AD я предоставил разрешения от имени пользователя как администратора.
Поскольку я должен выполнить определенные HTTP-запросы как «пользователь», я пытаюсь получить токен авторизации пользователя, здесь есть два шага:
- Получить код авторизации
- Получить токен на основе кода авторизации
Я не могу пройти Шаг 1. Я следую этой документации: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow и каждый раз, когда я пытаюсь выполнить следующий HTTP-запрос:
GET https://login.microsoftonline.com/{my-tenant-id}/oauth2/v2.0/authorize?
client_id={my-client-id}
&response_type=code
&redirect_uri=https%3A%2F%2Flogin.microsoftonline.com%2Fcommon%2Foauth2%2Fnativeclient
&response_mode=query
&scope=Group.ReadWrite.All
Я использую обычную аутентификацию, передавая имя пользователя и пароль. Но я получаю ответ: «Мы не можем войти в систему, ваш браузер в настоящее время настроен на блокировку файлов cookie». Ну нет браузера это сервисный аккаунт. Я что-то упускаю или то, чего я пытаюсь достичь, невозможно, и у меня должно быть веб-приложение? Microsoft сделала соединители, которые используют API Планировщика, но они сделали все, кроме соединителя, чтобы планировать в планировщике ...
EDIT:
Мне известно, что проблема аналогична этой теме здесь , но в ответе в этой теме говорится об использовании «Авторизации приложений», на которую Microsoft специально указала в своей документации, что в этом сценарии вы не можете. Мне известно о том, что мне нужны реальные разрешения пользователя, поскольку разрешен только тип разрешения
Делегированный (рабочий или учебный счет)
именно поэтому конкретная тема не отвечает на мой вопрос, поскольку этот ответ указывает на разрешение приложения, которое не поддерживается в этом сценарии.