0

試圖創建訂閱以獲取用於文件創建/上傳的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上的文件通知。 無法弄清楚發生了什麼變化。找不到任何幫助文檔

+0

現在這個問題消失了。我可以爲之前被封鎖的帳戶創建新的頻道和訂閱。但我仍然想知道問題背後的原因 – crucifix94

+0

問題又回來了。這一次,我甚至還沒有長期致電API來設置訂閱頻道。賬戶只是再次得到相同的錯誤 – crucifix94

+0

你並不孤單。我與創建訂閱有同樣的問題。它工作的很好,我沒有改變任何東西,現在一週後得到400個不好的請求。 – JFlox

回答

0

在這裏得到了同樣的錯誤,我花了一段時間才發現有什麼問題,所以我在這裏與你分享。

這裏的工作代碼:

'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')) 
]); 

這是錯誤的,我是行鏈接:https://msdn.microsoft.com/en-us/office/office365/api/notify-rest-operations#subscribe-to-changes-in-my-mail-calendar-contacts-or-tasks

但在我看來,「資源」參數應更多地記錄在圖形api文檔中,並且錯誤消息返回必須指定爲什麼這是一個BadRequest。

相關問題