0

ファイルの作成/アップロードのためにmsgraphの1つのドライブ通知のチャンネルを取得するサブスクリプションを作成しようとしています。私がいたMSGraphのcreate subscription api [Error Code - ExtensionError]に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" 
    } 
    } 
} 

400不正な要求エラー:

{ 
    "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" 

} 

私は次のような応答を取得しています - 適切なヘッダを持つ

https://graph.microsoft.com/v1.0/subscriptions 

と、次のボディ - 私はURLを打っています同じ要求を30-32時間後に返します。サブスクリプションIDとリダイレクトサーブレットのファイル通知を取得していました。 何が変更されたか把握できません。助けの資料を見つけることができませんでした

+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なのかを指定する必要があります。

関連する問題