使用Outlook Calendar REST API设置事件管理器

时间:2015-05-26 15:03:06

标签: rest outlook organizer outlook-restapi outlook-calendar

我正在使用Outlook REST API根据this文档创建事件并发送邀请

我对登录用户进行身份验证,并通过请求的Authorization标头发送其Bearer令牌,并在其内容上发送json格式的事件。

如果我将“Organizer”设置为另一个用户而不是经过身份验证的用户,并将“IsOrganizer”属性设置为“false”,则会完全忽略它并将当前登录用户设置为组织者。

可能发生的任何线索? 还有另一种方法吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

我发布此内容以防其他人发现并需要此方案的答案...

您(帐户A)可以通过Office365 REST API以其他人(帐户B)创建日历活动,前提是该帐户有权作为其他用户帐户发送。

以下是步骤:

1)按如下方式调用Office365 REST API,其中 {{{user2email}}} 是您希望创建事件的用户 as (帐户B的电子邮件)地址):   https://outlook.office365.com/api/v1.0/users/ {{{user2email}}} /日历

这应该返回帐户B的用户日历ID。

2)传入您的JSON - 以下是我在单元测试中使用的示例:

{
      "Subject": "Test - Created using Office365 Calendar REST API should be from Technology Notice",
      "IsOrganizer": "False",
      "Body": {
        "ContentType": "HTML",
        "Content": "This is where body copy goes HTML supported"
      },
      "Start": "2015-12-11T19:00:00Z",
      "End": "2015-12-11T20:00:00Z",
      "Attendees": [
        {
          "EmailAddress": {
            "Address": "attendee1@yourcompany.com",
            "Name": "Attendee One"
          },
          "Type": "Required"
        }
      ],
      "Organizer": {
        "EmailAddress": {
          "Address": "tnotice@yourcompany.com",
          "Name": "Technology Notice"
        }
      }
    }

'技术通知'将是日历邀请来自

3)在POST请求中使用步骤2中的ID,例如: https://outlook.office365.com/api/v1.0/users/ {{{user2email}}} /日历/ {{{ID}}} /事件

注意:请确保您将POST请求作为经过身份验证的用户帐户(帐户A )发送,该帐户的帐户是其实际所属的邮箱/日历。

如果一切正常,您应该能够发送日历邀请,并将其显示为来自帐户B而非帐户A.

希望这可以帮助别人。

答案 1 :(得分:1)

这是正确的行为。您无法在用户A的日历上创建活动,但将组织者设置为用户B.