2017-05-23 2 views
0

Ich versuche, eine einfache API in C# zu schreiben, die unter anderem zum Löschen von Ereignissen aus dem Kalender eines Benutzers verwendet wird, die die Graph API verwenden.Ist es möglich, ein Ereignis mit Microsoft Graph abzubrechen?

Das Problem, das ich habe, ist, dass ich Ereignisse löschen kann, die abgebrochen werden müssen, natürlich, weil sie abgebrochen werden müssen. Jedoch kann ich nicht herausfinden, wie man eine Funktion schreibt, um diese Ereignisse tatsächlich zu ABBRECHEN. Ich verwende derzeit https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/event_cancel, um ein Ereignis abzubrechen und einen Erfolgsstatuscode zu erhalten ... aber nichts passiert. Das Ereignis wird nicht abgebrochen und es wird nicht aus meinem Kalender entfernt.

Alle Vorschläge oder Ratschläge werden sehr geschätzt. Mein Code zum Abbrechen eines Ereignisses ist unten.

public async void CancelAppointment(string eventId) 
    { 
     try 
     { 
      var client = GetHttpClient(); 
      Uri targetEndpoint = new Uri("https://graph.microsoft.com/beta/me/events/" + eventId + "/cancel"); 
      string postBody = "{" + 
           "\"Comment\": \"Appointment canceled.\"" + 
           "}"; 
      var body = new StringContent(postBody, System.Text.Encoding.UTF8, "application/json"); 

      var response = await client.PostAsync(targetEndpoint, body); 
      Console.WriteLine(response.StatusCode); 

      if (response.IsSuccessStatusCode) 
      { 
       Console.WriteLine("Canceled appointment with Id: " + eventId); 
      } 
     } 
     catch (Exception e) 
     { 
      Console.WriteLine("Could not cancel appointment " + eventId + " " + e.Message); 
     } 
    } 
+0

'Ich erhalte einen Erfolgsstatuscode' Bei Erfolg sollten Sie' 202 Accepted' erhalten. Fügen Sie der Anfrage ein Bearer Access Token hinzu? –

+0

@HamletHakobyan Ja, ich erhalte 202 Akzeptiert. Ich füge das Bearer-Access-Token als Teil der GetClient() -Funktion der Anfrage hinzu, die den HTTP-Client zurückgibt. – Parapraxis

+0

'Das Ereignis wird nicht abgebrochen und es wird nicht aus meinem Kalender entfernt. Wie beobachten Sie das? Hast du nachher 'GET me/events/{id}' aufgerufen? –

Antwort

0

Dies scheint behoben zu sein. Ereignisse werden jetzt ordnungsgemäß abgebrochen, ohne dass an meinem eigenen Code Änderungen vorgenommen wurden.

Verwandte Themen