【问题标题】:Is it possible to cancel an event using Microsoft Graph?是否可以使用 Microsoft Graph 取消活动?
【发布时间】:2017-05-23 13:40:27
【问题描述】:

我正在尝试用 C# 编写一个简单的 api,除其他外,该 api 将用于使用 Graph api 从用户日历中删除事件。

我遇到的问题是我无法删除需要取消的事件,显然是因为它们需要被取消。但是,我不知道如何编写一个函数来实际取消这些事件。我目前正在使用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);
        }
    }

【问题讨论】:

  • I'm getting a success status code 成功后您应该收到202 Accepted。您是否在请求中添加了不记名访问令牌?
  • @HamletHakobyan 是的,我收到 202 已接受。我将不记名访问令牌添加到请求中,作为返回 HTTP 客户端的 GetClient() 函数的一部分。
  • The event isn't canceled, and it isn't removed from my calendar 你是怎么观察到的?之后你给GET me/events/{id}打过电话吗?
  • @HamletHakobyan 我现在就试试。我打开了日历,以便在运行测试时可以实时查看所有内容。其他一切(创建新事件、更新事件、删除不需要取消的事件以及获取事件)都可以完美运行。到目前为止,我一开始就收到了事件,但我会在调用它之后尝试添加另一个 GET。
  • @HamletHakobyan 因此,在添加了额外的 GET 之后,我发现该事件确实被取消/不再存在。但是,在我的 Outlook.com 日历本身中,即使在重新加载页面后事件仍然存在,我仍然必须手动取消它才能将其删除/实际上向与会者发送取消消息。

标签: c# .net microsoft-graph-api outlook.com


【解决方案1】:

这似乎已修复。事件现在可以正确取消,而我自己的代码没有任何更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多