【问题标题】:outlook.com rest api incorrect organizer emailoutlook.com rest api 不正确的组织者电子邮件
【发布时间】:2016-08-22 22:50:33
【问题描述】:

当用户在 Outlook.com 共享日历中创建事件时,REST API 会告知日历所有者是组织者。

我在 Outlook.com 中有一个日历,我正在使用日历订阅将所有日历事件同步到我的服务器。当发生某些事情时我会收到通知,并且通知中有 url,我可以使用它来获取该新创建事件的对象。

我现在在 outlook.com 中有另一个用户,我已与他共享我的日历。当他在该共享日历中执行某项操作时,我会收到通知,但我没有收到有关谁创建了新活动的任何信息。

组织者始终是我的用户,出于某种原因,事件对象名称很好,但电子邮件地址类似于 outlook-[nonsense]@outlook.com(这不是我的电子邮件地址)。我的真实电子邮件地址更像是lehtu@outlook.com

请参阅此图片以进行说明:

响应的组织者部分:

Organizer:
 { EmailAddress:
    { Name: 'Encode Testing',
      Address: 'outlook_2FD8F7EE77CEC8B8@outlook.com' } },

应用程序身份验证仅由我的用户(图片中的名称为“测试”)进行。

这是我的凭证:

this.scopes = [
    'openid',
    'offline_access',
    'https://outlook.office.com/calendars.readwrite'
];

重点是在我的帐户下有更多的日历,我会将它们分享给其他人。但我必须在我的应用程序中获取创建事件的信息。

有什么想法吗?

【问题讨论】:

  • 向我们的日历开发人员报告。
  • 好的,那么实际拥有日历的帐户是他们的主要电子邮件地址 Outlook.com 地址还是其他地址?
  • 主电子邮件使用自定义域。但这种对组织者的疯狂似乎是一个“特征”。如果我在浏览器中或通过 api 与用户测试(日历的所有者)查看日历,看起来他是所有活动的组织者,即使他没有创建这些活动。当我通过 api 或浏览器与 Testing2 用户(通过共享访问)查看同一个日历时,看起来他拥有该日历中的所有事件。现在我在 office365 中对此进行了测试,并且日历的所有者始终是所有活动的组织者。无论您如何看待它们以及谁创建了事件..
  • 但如果我想在活动中找到合适的组织者,我必须使用 office365 中的房间。然后它几乎就像我想要的那样工作......现在唯一的问题是,在房间的日历中只显示组织者的名字作为主题。而且根本没有尸体?

标签: office365 office365api outlook-restapi office365-restapi


【解决方案1】:

预计共享日历上的活动组织者始终是该日历的所有者。本质上,Testing2 代表 Testing 发起了活动,但 Testing2 并没有成为组织者。您在测试中看到的奇怪电子邮件地址是他的潜在 Outlook.com 电子邮件,这是因为您使用的是自定义域而添加的。

不幸的是,今天似乎 API 并未直接公开有关谁实际创建事件的信息。这可能是在UserVoice 上建议的一个好功能。但是,您也许可以间接访问它。

只要 API 不直接公开属性,您就可以查看 Exchange 服务器公开的基础属性。我通常在MS-OXPROPS 文档中查找它们。我找到了PidTagCreatorName,看起来它可能有助于获取您想要的数据。

您通常可以通过扩展(通过$expand)项目上的SingleValueExtendedProperties 集合来访问这些基础属性。因此,如果您对以下内容执行 GET:

https://outlook.office.com/api/v2.0/me/events?
$expand=SingleValueExtendedProperties($filter=PropertyId eq 'String 0x3FF8')

您会看到返回的结果类似于:

{
    ...
    All the normal props you usually see
    ...
    "SingleValueExtendedProperties": [
        {
            "PropertyId": "String 0x3ff8",
            "Value": "Jason Johnston"
        }
    ]
}

【讨论】:

  • 嗯.. 获取电子邮件地址怎么样?
  • 我没有看到那个。
猜你喜欢
  • 1970-01-01
  • 2019-08-04
  • 2017-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 2014-06-24
相关资源
最近更新 更多