Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MSGraph订阅创建错误:“0”;“讯息”:&引用;操作:创建;异常:[状态代码:未授权;原因:“&引用;代码";:&引用;ExtensionError";_Python_Django_Microsoft Graph Api_Webhooks_Subscription - Fatal编程技术网

Python MSGraph订阅创建错误:“0”;“讯息”:&引用;操作:创建;异常:[状态代码:未授权;原因:“&引用;代码";:&引用;ExtensionError";

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

我需要使用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",
        "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” }"