Я пытаюсь извлечь календари из Outlook с помощью скрипта Python. Я получаю ошибку недопустимого значения области. Чего мне не хватает?

#python #authentication #outlook

#python #аутентификация #outlook

Вопрос:

Я пытаюсь использовать скрипт Python для извлечения моих общих календарей в Outlook. Я первокурсник в области компьютерных наук и новичок. Я подумал, что было бы неплохо, чтобы все мои события календаря печатались на терминале, и я подумал, что это небольшое действие принесет мне пользу. Однако я получаю ошибку недопустимого значения области в своем браузере после вставки ссылки портала входа в Chrome. Я добавил в Azure все разрешения и конфигурации платформы, которые, как я думал, мне нужны? Чего мне не хватает?

Ошибка в браузере:

 https://login.microsoftonline.com/common/oauth2/nativeclient?error=invalid_scopeamp;error_description=The provided value%20for the%20input parameter%20'scope%27%20is%20not valid. The scope%20'Calendars.Read.Shared%27%20is%20not valid.amp;state=iC6gDfcX1C7BCPfsrvdHpp4a7kzcRr
  

Вывод терминала:

 Visit the following url to give consent:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=codeamp;client_id=844ecf49-96c1-422d-a611-b7bad4882745amp;redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclientamp;scope=Calendars.Read.Sharedamp;state=iC6gDfcX1C7BCPfsrvdHpp4a7kzcRramp;access_type=offline
Paste the authenticated url here:
  

Вот мой код:

 from O365 import Account, MSGraphProtocol

CLIENT_ID = '844ecf49-96c1-422d-a611-b7bad4882745'
SECRET_ID = 'q~-n~w9_kTb6mTIrbmcA2-139rqiSph4n_'
SCOPE = ["Calendars.Read.Shared"]

credentials = (CLIENT_ID, SECRET_ID)

protocol = MSGraphProtocol()

account = Account(credentials, protocol=protocol)

if account.authenticate(scopes=SCOPE):
    print("Authenticated!")

schedule = account.schedule()
calendar = schedule.get_default_calendar()
events = calendar.get_events(include_recurring=False)

for event in events:
    print(event)
  

разрешения в Azure image

Конфигурации платформы в Azure