Outlook 365 API를 사용하는 데 무서운 시간을 보내고 있습니다. 사용 사례는 매우 간단합니다. 사용자의 캘린더에 대한 정보를 추출하기 위해 매 시간마다 실행되는 스크립트를 만드십시오.Outlook 365 API - 인증
내 스크립트는 파이썬으로 실행되며 토큰을 얻을 수 있었지만 사용자의 이벤트를 가져올 수 없습니다. 나는 분명히 Microsoft Application Registration Portal에 내 앱을 등록하고 Calendar.read 애플리케이션 권한을 주었다. 관리자는 또한 /adminconsent
엔드 포인트에 액세스하여 동의를 보냈습니다.
url = 'https://login.microsoftonline.com/common/oauth2/v2.0/token'
data = {
'grant_type': 'client_credentials',
'client_id': app_id,
'scope': 'https://graph.microsoft.com/.default', <--- Really not sure about this here
'client_secret': client_secret,
}
r = requests.post(url, data=data)
token = r.json().get('access_token')
어떤 범위 내가 사용하는 가정 오전 : 여기
토큰 (문서 here)를 얻을하려면 코드인가? 설명서는 위의 내용에 대해서만 설명합니다. 그리고 사용자의 일정 읽기 : 다시url = 'https://outlook.office.com/api/v2.0/users/{}/events'.format(user_email)
headers = {
'Authorization': 'Bearer {}'.format(token)
}
r = requests.get(url, headers=headers)
, 나는 정말 users/{user_email}/
부분의 모르겠습니다. stackoverflow에서 비슷한 것을 한 사람이 있지만 어디서나 문서에서 찾을 수없는 사람을 읽었습니다.
나는 액세스 토큰을 얻을 수 있어요하지만 사용자의 달력을 읽으려고 다음과 같은 오류가 발생합니다 :
응답 [401]
는 액세스 토큰은 인증 방법을 사용하여 획득되는 이 응용 프로그램에 대한 액세스를 허용하기에는 너무 약합니다. 제시된 인증 강도는 1이고, 필요한 것은 2입니다.
제발 오, 제발 도와주세요. 나는이 아주 간단한 일을하는 데 이미 너무 많은 시간을 보냈다.
피드백을 보내 주신 Fabrice에게 감사드립니다. 그래프는 절대적으로 권장되는 API입니다. 실제로 Outlook 끝점을 사용합니다. 우리는 차이점을 설명하려는 시도와 여기에서 다른 것을 선택하는 이유에 대한 문서를 가지고 있습니다 : https://docs.microsoft.com/en-us/outlook/rest/compare-graph-outlook. 우리는 REST API 이야기를 통일하여 그래프가 더 좋은 방법임을 명확히 밝히고 있습니다. –
차가움. 당신의 의견에 감사드립니다. 나는 그것이 당신이 한 버전에서 다른 버전으로 전환하려고하는 그 시점이기 때문에 나의 마지막 구절이라고 생각합니다. –