【问题标题】:setting event organizer with Outlook Calendar REST API使用 Outlook 日历 REST API 设置活动组织者
【发布时间】:2015-08-08 08:19:45
【问题描述】:

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

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

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

关于可能发生什么的任何线索? 还有其他方法吗?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    我发布这个以防其他人发现并需要这个场景的答案......

    您(帐户 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}}}/calendars/{{{ID}}}/事件

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

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

    希望这可以帮助某人。

    【讨论】:

    • 无论谁投反对票,这是不正确的。我面前有一个工作模型。
    • 很抱歉对旧帖子发表评论,但是您是如何进行身份验证的呢? OAuth 范围不支持这种情况。账户 A 无法访问账户 B 的日历。
    • 发送您要用于请求的帐户的凭据
    【解决方案2】:

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

    【讨论】:

    • 谢谢!但是我可以在用户 B 的日历上创建它吗?
    • 您不能以一个用户身份进行身份验证并访问另一个用户的日历。但是,您可以使用客户端凭据流,这需要组织管理员授予对您的应用程序的访问权限。然后,应用程序会以自身身份(而不是单个用户)进行身份验证,并且可以访问组织中的所有日历。
    猜你喜欢
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多