Не удалось использовать MSGraph с Python MSAL - PullRequest
2 голосов
/ 28 мая 2019

Я пытаюсь разработать простое приложение, которое будет запускаться из crontab.Это приложение должно подключиться к моему календарю outlook (Office360) и загрузить все события, после чего я вставлю их в MariaDb.Я думал, что это легко, но я схожу с ума в последние 4 дня.Я пытаюсь следовать документам Microsoft, используя NodeJ, но не могу найти режим без вывода сообщений (режим, в котором запрашивается авторизация без входа в систему все время) для получения токена и данных.Затем я пытаюсь использовать Python в другом подходе, сначала используя EWS, но я прочитал, что это будет устареть в будущем, а в последние 2 дня я пытаюсь использовать MSAL и ADAL.Подход MSAL кажется более размытым, но у меня все еще есть эта проблема, когда я запускаю свой скрипт также с acquire_token_by_username_password или acquire_token_by_device_flow

AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'.

Мой код такой же, какGitHub https://github.com/AzureAD/microsoft-authentication-library-for-python/tree/dev/sample Я изменяю свой конфиг в parameter.json и вставляю свой:

{
    "authority": "https://login.microsoftonline.com/organizations",
    "client_id": "ClinetIdOfApp Set in Azure",
    "username": "myaccont@account.xx",
    "scope": ["User.Read","Calendars.Read"],
    "password": "MyPassword*****"
}

Пожалуйста, кто-нибудь может подсказать мне какое-нибудь предложение по прыжку с этого камня?Спасибо

1 Ответ

1 голос
/ 30 мая 2019

Вы используете Учетные данные для пароля владельца ресурса , ваше приложение должно рассматриваться как общедоступный клиент .

Вход на портал Azure-> щелкните Azure Active Directory-> щелкните Регистрация приложений-> найдите свое приложение-> нажмите Аутентификация-> измените тип клиента по умолчанию на общедоступный клиент.

enter image description here

Результат:

enter image description here

...