Microsoft图形异常:[状态码:未经授权;原因:未经授权]

时间:2018-08-15 10:48:58

标签: php microsoft-graph

我正在尝试使用以下页面Microsoft Graph在microsoft graph中创建订阅。我得到了其他大多数代码的支持,例如获取承载令牌和进行身份验证。但是,当我执行以下代码时:

$response = $this->client->post($this->http_subscribe, [
        'headers' => [
            'Authorization' => "Bearer " . $this->token,
            'Content-Type' => "application/json",
            'charset' => "utf-8"
        ], 'json' => [
            "changeType" => "created,updated",
            "notificationUrl" => "www.example.com/outlook/notify",
            "resource" => "me/messages",
            "expirationDateTime" => $this->endTimeDate->format('c'),
            "clientState" => "secretClientValue"
        ]
    ]);

我收到以下错误:

{
   "error": {
       "code": "ExtensionError",
       "message": "Operation: Create; Exception: [Status Code: Unauthorized; Reason: Unauthorized]",
       "innerError": {
          "request-id": "ff9882ac-b95f-4a34-944c-7459d2b3d16c",
          "date": "2018-08-15T10:17:33"
        }
   }
}

我不确定为什么会收到此消息,我确实收到了Microsoft的POST到通知URL,该URL包含一个验证令牌,我将立即用200答复代码发送回去。

我有点迷茫,无法完全解决此错误以创建订阅。

在Microsoft中,我已为应用程序设置了以下权限: Mail.Read(仅管理员)和Mail.ReadWrite(仅管理员)

我只希望能够从所有邮箱中读取电子邮件,后来又希望能够进行回复(但这在当前阶段不是我所需要的)。

有没有人能为我指明正确的方向,以便我可以成功创建订阅?

0 个答案:

没有答案