Microsoft Graph Subscription ExtensionError - Dele

2019-07-10 05:19发布

问题:

Issue

  • I currently have an Azure Active Directory Application that has a Microsoft Graph Webhook Subscription listening for new emails (messages) in a specified mailbox.
  • The subscription has a scheduled task that renews the subscription's expiration date via an Update request. The subscription is targeted using its MS Graph Provided ID.
  • Any DELETE or UPDATE request against this specific subscription fails. (See 'Error Response' below.)

Question

  • I realize that this may be the same issue / bug as the question presented here: https://stackoverflow.com/a/53111286/7902641
  • Has there been any fix / resolution / or workaround for this?
  • If there has been a fix or this is a different problem altogether, what can I do to resolve this specific issue?
  • Thanks!

Error Response

{
  "error": {
    "code": "ExtensionError",
    "message": "Operation: Delete; Exception: [Status Code: NotFound; Reason: The subscription with Id 'Q0IzOUZCMTYtMTk4OC00OEZDLUFFQjQtNzI4NTU1MDREMkVDXzQ5RDk2MzI3LUFDRDEtNEE2QS05QTQ1LUYwQ0ZGQjgwNEQ0Qg==' is not found.]",
    "innerError": {
      "request-id": "e83fe463-....-....-....-76eb35e2e697",
      "date": "2019-03-22T02:35:14"
    }
  }
}

Extra Info

  • Somehow the Microsoft Graph ID for the subscription is...transformed? The original subscription ID is ( 528b79f1-....-....-....-360c0e1149e9 ) and the returned target ID is: ( Q0IzOUZ ... NEQ0Qg== ) .
  • The executing UPDATE request originates from an ASP.NET CORE application, using the Microsoft Graph SDK (C#).
    • https://github.com/microsoftgraph/msgraph-sdk-dotnet
  • However I have eliminated the SDK as the origination of the problem -- using a REST API tester (Insomnia), I achieve the same error result. The request URL looks like:
    • https://graph.microsoft.com/v1.0/subscriptions/528b79f1-....-....-....-360c0e1149e9
  • I have also attempted to use the BETA version instead of v1.0. Unfortunately I get the same error result.

Configuration

  • Application:
    • Registered Azure Active Directory Daemon Application
  • Authentication Library:
    • MSAL
    • https://github.com/AzureAD/microsoft-authentication-library-for-dotnet
  • Calling Application (generating the update / delete request):
    • ASP.NET CORE (2.1) - Web Api
    • Using MS Graph SDK (Github link posted above)

== Update ==

  • The subscription in question has now expired and disappeared from my application's subscriptions list (timestamp, PST: 3/22/2019 8:45:22 AM).
  • I will no longer be able to test against it (sorry S.O. posterity!).
  • However, good news: now that the problem child (subscription) in question is gone, I was able to create a new subscription and restart my affected service. I am able to successfully submit get / update / delete requests against any newly created subscriptions.