(特にメールボックスの)Microsoft Graph Webhookサブスクリプションの開始に問題があります。サブスクリプションを開始すると、マイクロソフトはサブスクリプションを構成するために送信するすべてのパラメータを受け入れますが、構成したエンドポイントから2xx以外の応答を受信しているため、サブスクリプション全体が失敗したように見えます。Microsoft Graph Webhook ClientStateがありません
私のエンドポイントが401
をMicrosoftに送り返すのは、サブスクリプション検証トークンを含むPOSTにclientStateがないためです。
私は、Microsoftとエンドポイント間のすべての通信を認証するためにclientStateのキーと値のペアを使用しています。エンドポイントに正しいclientStateが表示されない場合は、401
を返します。
私は何が不足しているのか、これを別のやり方で検討する必要があるかについてのアイデアはありますか?私の意見では、私のエンドポイントが認証されていないGET/POSTを受け入れることはオプションではありません。マイクロソフトから返さ
{
"changeType": "created",
"clientState": "testClientState",
"resource": "users/<UserName>/messages",
"expirationDateTime": "2017-08-10T10:24:57.0000000Z",
"notificationUrl": "<EndpointURL>"
}
エラー:ヘッダー内のAPIキーを含むPOSTメソッドを使用して
例のリクエストボディの私の終点が送信されるまで
"error": {
"code": "InvalidRequest",
"message": "Subscription validation request failed. Must respond with 200 OK to this request.",
"innerError": {
"request-id": "adf7fc7b-6b14-4422-8526-c1391be8dd27",
"date": "2017-08-07T16:24:59"
}
}
は私が意図したとおりに動作するようにすべてを理解します私は検証トークンを受け取るが、私のエンドポイントはそれがクライアントの状態を欠いているので、それを拒否するので、
エンドポイントのログスニペット:
queryStringParameters": {
"validationToken": "<ValidationToken sent by Microsoft>"
}
私はMicrosoftの開発者向けガイドのいくつかのオフに私のAPIエンドポイントロジックを基づかています。特にサブスクリプションの作成については、私はusing this guideです。
この質問はalso asked but not answered on GitHubでした。
ご確認ください:私の回答があなたの質問に答えましたか? –