【问题标题】:Access to other user's calendar in Office 365 API在 Office 365 API 中访问其他用户的日历
【发布时间】:2014-11-07 09:04:34
【问题描述】:

我正在构建一个 WPF 应用程序,该应用程序对组织中的多个用户日历进行汇总。该公司正在使用 Office 365,所以我认为 Office 365 API 将是最好的选择。

我设法访问了我自己的日历,但我不知道如何访问我同事的日历。 可能吗? 我还需要列出 GAL,以便选择我希望将哪些用户包含在摘要中。

【问题讨论】:

    标签: office365 outlook-restapi


    【解决方案1】:

    [UPDATE] 服务帐户支持现在可用于 REST API。请参阅Building Daemon or Service Apps with Office 365 Mail, Calendar, and Contacts APIs (OAuth2 client credential flow) 了解更多信息。

    感谢您提出问题并对 Office 365 API 感兴趣!目前,您可以使用 Office 365 API 访问经过身份验证的用户的日历,但不能访问其他用户的日历。授权服务帐户访问组织内或整个组织内多个用户的邮件/日历/联系人是我们的路线图,并且优先级很高,敬请期待。

    同时,您可以使用 Exchange Web 服务 (EWS) 托管 API 来实施您的应用程序。但是,通过 EWS 应用模拟,服务帐户可以读取/写入用户的整个邮箱,而不仅仅是日历。一旦我们在 Office 365 API 中添加对服务帐户的支持,您将能够使用 OAuth 并将应用的访问范围缩小到仅读取用户的日历。

    这里有几个链接解释了 EWS 应用模拟的工作原理。

    如果您有任何问题或需要更多信息,请告诉我。

    谢谢,

    文卡特

    【讨论】:

    • API 访问其他用户日历的任何更新?
    • @venkat 对此有何更新?我们可以访问其他用户的日历吗?
    • 还没有,抱歉。这仍在进行中。谢谢。
    • OAuth 的范围访问方式是否有任何更新?向用户保证应用程序可验证地仅访问他们的日历或邮件或联系人(或任何组合)会非常漂亮
    • 它(或类似的细粒度访问定义)是否可用于通过 EWS 访问本地交换?
    【解决方案2】:

    是的,可以使用基本身份验证(但不能使用 OAuth2)。此外,您的帐户必须对同事的日历具有读取权限(管理员可以通过设置邮箱文件夹权限来完成)。

    var authClearText = string.Format("{0}:{1}", yourEmail, yourPassword);
    var authEncoded = Convert.ToBase64String(Encoding.Default.GetBytes(authClearText));
    var authHeaderValue = "Basic " + authEncoded;
    
    using (var httpClient = new HttpClient())
    {
        httpClient.DefaultRequestHeaders.Add("Authorization", authHeaderValue);
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      相关资源
      最近更新 更多