【问题标题】:Office 365 REST API with Basic Authorization具有基本授权的 Office 365 REST API
【发布时间】:2015-12-10 00:20:16
【问题描述】:

我正在尝试使用 RESTapi 在 Office 365 帐户中获取个人日历和共享日历。由于目前 Oauth2 不支持访问共享日历,因此我正在使用基本授权测试我的代码。

我的帐户中有三个日历:

  1. user1@domain.com(自己的日历)
  2. user2@domain.com(共享日历)
  3. user3@domain.com(共享日历)

使用以下端点,我能够使用基本授权获取事件:

https://outlook.office365.com/ews/odata/Users('user1@domain.com')/事件

奇怪的是,在过去的两天里,我无法使用相同的端点获取 user1@domain.com 和 user2@domain.com 的事件。尝试访问事件时出现以下错误:

{"@odata.context":"https://outlook.office365.com/ews/odata/$metadata#Users('user1@domain.com')/Events","value":[{"error":{"code":"ErrorInternalServerError" ,"message":"对象引用未设置为对象的实例。"}}

但我仍然可以使用相同的端点和基本身份验证访问 user3@domain.com 的事件。

我还尝试使用 oauth2 访问自己的日历。我收到类似的错误

{"value":[{"error":{"code":"ErrorInternalServerError","message":"对象引用未设置为对象的实例。"}}

但我可以成功与日历端点通话

我想知道是否有人以前见过这个错误。非常感谢任何帮助/建议。

【问题讨论】:

    标签: office365 outlook-restapi office365api office365-restapi


    【解决方案1】:

    这也让我很困惑。网络上的所有内容都会指向您使用 Office 365 API,但相信我,这不是您想要做的。您将需要使用 Exchange API。 Office 365 只是一个 Exchange 服务器,因此您可以像自动化任何 Exchange 服务器一样自动化它。这里有示例代码。很简单。

    Consume Office 365 REST API Without UI

    Office 365 API 只是一组用于构建基于 UI 的应用程序的工具,允许用户输入他们的 Office 365 凭据并允许应用程序代表他们工作。

    【讨论】:

      【解决方案2】:

      除了 Jason 的 cmets,请使用我们的生产端点 https://outlook.office.com/api/v1.0 而不是我们旧的预览端点 https://outlook.office365.com/ews/odata/ 请参阅此 blog post 了解更多详细信息。

      【讨论】:

      • 您好文卡特,感谢您的回复。我将其更改为生产 url。我还有另一个问题 - 您知道何时使用 Oauth2 支持访问共享日历吗?我在任何地方都找不到这方面的信息。
      • 还没有。我们仍在努力增加支持,但还没有预计到达时间。
      【解决方案3】:

      不建议使用基本身份验证,也不支持用于生产。 Basic 暂时可用以简化对 API 的探索,但将在未来某个时候停用。

      话虽如此,您说当您使用 OAuth2 访问自己的日历时遇到错误,对吗?这听起来可能是一个间歇性问题,但没有足够的信息来确切地知道发生了什么。如果您仍然看到它,最好将 add instrumentation headers 发送到您的请求(User-Agentclient-request-idreturn-client-request-id)并获取请求响应的网络跟踪。

      【讨论】:

      • 嗨,杰森,感谢您的回复。我将尝试添加更多标头来检查请求响应。我使用基本身份验证仅测试我的代码。
      猜你喜欢
      • 1970-01-01
      • 2016-11-18
      • 2018-09-06
      • 2012-11-09
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多