#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)