2017-05-23 6 views
0

私は、グラフのAPIを使用してユーザーのカレンダーからイベントを削除するために使用されるC#で単純なAPIを作成しようとしています。Microsoft Graphを使用してイベントをキャンセルすることはできますか?

私が遭遇した問題は、取り消す必要のあるイベントを削除できないことです。キャンセルする必要があるからです。しかし、私は実際にこれらのイベントをキャンセルする関数を書く方法を理解することはできません。私は現在、イベントをキャンセルしようとするとhttps://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/event_cancelを使用していますが、成功ステータスコードを取得していますが、何も起こりません。イベントはキャンセルされず、カレンダーから削除されません。

ご意見やアドバイスをいただければ幸いです。イベントをキャンセルする私のコードは以下の通りです。

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

「成功ステータスコードを取得しました」成功した場合は、「202 Accepted」を受け取る必要があります。リクエストにベアラアクセストークンを追加しますか? –

+0

@HamletHakobyanはい、私は202 Acceptedを受け取ります。 HTTPクライアントを返すGetClient()関数の一部としてベアラアクセストークンをリクエストに追加します。 – Parapraxis

+0

'イベントはキャンセルされておらず、カレンダーから削除されていません。どうしたのですか?後で '私に/イベント/ {id}'を呼んだのですか? –

答えて

0

これは修正されているようです。イベントは自分のコードに変更を加えずに、正しくキャンセルされています。

関連する問題