Python MSGraph订阅创建错误:“0”;“讯息”:&引用;操作:创建;异常:[状态代码:未授权;原因:“&引用;代码";:&引用;ExtensionError";
我需要使用Microsoft Graph为用户创建订阅 我在Aure Active Directory中拥有所有权利: User.Read.All 我的订阅方式:Python MSGraph订阅创建错误:“0”;“讯息”:&引用;操作:创建;异常:[状态代码:未授权;原因:“&引用;代码";:&引用;ExtensionError";,python,django,microsoft-graph-api,webhooks,subscription,Python,Django,Microsoft Graph Api,Webhooks,Subscription,我需要使用Microsoft Graph为用户创建订阅 我在Aure Active Directory中拥有所有权利: User.Read.All 我的订阅方式: def create_subscription_to_users(self): t = datetime.utcnow() + timedelta(minutes=settings.MAX_TIME_DELTA_IN_MINUTES) payload = { "changeType": "updated
def create_subscription_to_users(self):
t = datetime.utcnow() + timedelta(minutes=settings.MAX_TIME_DELTA_IN_MINUTES)
payload = {
"changeType": "updated",
"notificationUrl": "{0}/webhooks/azure".format(settings.AZURE_WEBHOOKS_CALLBACK_BASE_URL),
"resource": "users",
"expirationDateTime": t.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
}
response = self.graph_client.post(url='{0}/subscriptions'.format(settings.GRAPH_URL), json=payload).json()
self.add_log(url='{0}/subscriptions'.format(settings.GRAPH_URL),
method='POST', payload=payload, response=response)
return response
我的验证类:
class AzureHook(View):
def post(self, request):
url = request.get_full_path()
parsed_url = parse_qs(urlsplit(url).query)
validation = dict(parsed_url).get('validationToken')[0]
return HttpResponse(validation.encode('utf-8'), content_type='text/plain')
但我仍然收到创建订阅的响应:
{"error": {"innerError": {"date": "2019-07-03T11:29:39", "request-id": "5e7f1fc3-8ef4-4511-b661-35bf7d146cc3"}, "message": "Operation: Create; Exception: [Status Code: Unauthorized; Reason: ]", "code": "ExtensionError"}}
有人能帮我解决这个问题吗?为了消除这个错误,在应用程序中添加以下作用域。User.Read.All&offline\u访问,User.ReadWrite.All,Group.ReadWrite.All,Group.Read.All,Directory.ReadWrite.All,Directory.accessUser.All,openid 要获取授权码,请在浏览器中尝试此url&response\u type=code&redirect\u uri=&User.ReadWrite.All&Group.ReadWrite.All&Group.Read.All&Directory.ReadWrite.All&Directory.accessUser.All&openid&offline\u access&state=12345&prompt=login 请先使用邮递员尝试此请求,我附上此请求供您参考 curl-X柱\ \ -H‘授权:持票人’\ -H'内容类型:应用程序/json'\ -d'{ “变更类型”:“已更新”, “通知URL”:“, “资源”:“组”, “到期日期时间”:“2019-07-13T10:19:03.170Z”, “clientState”:“secretClientValue” }"