为MSGraph的创建预订API获取400错误请求错误[错误代码 - ExtensionError]
问题描述:
试图创建订阅以获取用于文件创建/上传的msgraph一个驱动器通知的通道。 我打的网址 -为MSGraph的创建预订API获取400错误请求错误[错误代码 - ExtensionError]
https://graph.microsoft.com/v1.0/subscriptions
与适当的标题和以下的身体 -
{
"changeType": "updated",
"notificationUrl": "https://xxxxx.xxxxxxxxx.com/zzzz/qwertqwert",
"resource": "https://stackoverflow.com/users/{user-id}/drive/root",
"expirationDateTime": "2017-02-18T19:49:40.000Z",
"clientState": "justsomerandomstring"
}
我得到如下回应: 400错误的请求错误
{
"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: BadRequest; Reason: Bad Request]",
"innerError": {
"request-id": "2862896286-5415-4921-gbn5-8741288985",
"date": "2017-02-17T17:30:22"
}
}
}
我同样的要求30-32小时回来。获取订阅ID以及我的重定向servlet上的文件通知。 无法弄清楚发生了什么变化。找不到任何帮助文档
答
在这里得到了同样的错误,我花了一段时间才发现有什么问题,所以我在这里与你分享。
这里的工作代码:
'resource' => 'me/messages/' . $draftEmail->getParentFolderId(),
和我一起
'resource' => "me/mailFolders('Inbox')/messages?filter=id eq %27" . $draftEmail->getId() . '%27',
,我发现我的答案在这个替换它:
$subscription = new Subscription([
'resource' => "me/mailFolders('Inbox')/messages?filter=id eq %27" . $draftEmail->getId() . '%27',
'notificationUrl' => 'https://my.domain.fr',
'changeType' => 'updated',
'expirationDateTime' => date(DATE_ISO8601, strtotime('+48 hours'))
]);
但在我看来,“资源”参数应更多地记录在图形api文档中,并且错误消息返回必须指定为什么这是一个BadRequest。
现在这个问题消失了。我可以为之前被封锁的帐户创建新的频道和订阅。但我仍然想知道问题背后的原因 – crucifix94
问题又回来了。这一次,我甚至还没有长期致电API来设置订阅频道。账户只是再次得到相同的错误 – crucifix94
你并不孤单。我与创建订阅有同样的问题。它工作的很好,我没有改变任何东西,现在一周后得到400个不好的请求。 – JFlox