问题标签 [microsoft-graph-calendar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
283 浏览

python - 使用 Microsoft Graph Delta 查询进行事件同步的问题

我正在开发一个内部应用程序。这将用于在本地备份和同步我们的 Office 365 日历和事件数据。要按照 Graph API 文档实现差异同步,Delta Query 是最好的选择。在为“/CalendarView”实现此增量查询时,两个参数是必需的(startDateTime、endDateTime)。这两个参数实际上设置了事件的范围以跟踪任何更改。我检查了这个最大范围,发现范围可以是 100 年。我们的应用程序确实有比这更长的范围,因为我们维护了历史日历。

我已经考虑过以下解决方案:

Sol #1: /events 使用 lastModifiedDateTime gt 'last backup' 时间进行 $filter 查询。

此解决方案不返回已删除的事件数据

溶胶 #2:/calendarView/delta?startDateTime = ''&endDateTime =''

该解决方案的有限范围为 100 年。

试过
https://graph.microsoft.com/v1.0/users/ {{user_id}}/events?$filter=lastModifiedDateTime gt '2019-06-26T02:56:41.828Z'

试过
https://graph.microsoft.com/v1.0/users/ {{user_id}}/calendar/calendarView/delta?startDateTime=1989-06-20T02:56:41.828Z&endDateTime=2088-06-26T02:56: 41.828Z

找出一种解决方案来实现没有这样的范围的差分同步或针对上述问题采用不同的方法。

0 投票
1 回答
372 浏览

azure-active-directory - 无法使用 Microsoft Graph API 获得管理员同意和访问令牌

我想构建一个示例应用程序,它可以使用 Microsoft 图形 API 读取实时或 office365 的 Outlook 帐户日历。

我尝试实施的案例是Microsoft Graph:无需用户即可访问

  1. 我在 Outlook Live 上创建了一个个人帐户。
  2. 在 Azure 门户上注册了一个应用程序。
  3. 下一步是获得管理员同意。
  4. 为了获得管理员同意,我尝试点击:

    https://login.microsoftonline.com/common/adminconsent ?client_id=clientId &state=state &redirect_uri=redirect-uri

得到错误:

我们无法从此 API 版本为 Microsoft 帐户颁发令牌。请联系应用程序供应商,因为他们需要使用 2.0 版协议来支持此功能。

0 投票
0 回答
132 浏览

microsoft-graph-api - SingleValueExtendedProperty 仅在房间接受事件时传播

我正在编写一些代码来预订与 Outlook Office 365 集成的会议室。我正在使用 Microsoft Graph 来执行此操作,并且我的解决方案需要一些用于许多功能的扩展属性。

我的问题是: 当我更新所有者日历中某个事件的扩展属性时,更改不会传播到该事件的房间副本。扩展属性仅在房间需要再次接受事件时传播(例如开始日期更改)。

我用来更新事件的一段代码:

这有点奇怪,因为当我在所有者的日历中创建事件时,它会通过房间正确传播,但是当我更新扩展属性时,它适用于原始事件但不会影响房间的副本(除非房间需要再次接受该事件)。

也许 Graph 缺少 EWS 的旧功能,它通知更新方法以强制再次发送邀请,SendInvitationsOrCancellationsMode.SendToAllAndSaveCopy

0 投票
1 回答
111 浏览

microsoft-graph-api - 如何创建传播到与会者副本的 openType 扩展?

我正在做一个预订房间的项目,我们需要使用一些扩展属性。

我们一直在使用 singleValueLegacyExtendedProperty,但正如我在另一个问题中报告的那样,microsoft graph 无法正确更新值(SingleValueExtendedProperty 仅在房间接受事件时传播

我尝试使用图形资源管理器在某些特定事件中创建扩展:

在此处输入图像描述

当我检索此特定事件时,它是好的,扩展属性在那里: 在此处输入图像描述

当我检索房间事件时,扩展属性不存在(由于凭据,我必须使用邮递员,虽然我的用户有权访问这个房间,但我无法在图形资源管理器中使用我的凭据扩展扩展)

在此处输入图像描述

0 投票
0 回答
118 浏览

microsoft-graph-api - 无法订阅 Microsoft Graph API 日历是用户名称中有撇号

我们在 Office 365 中设置了一个应用程序。客户已同意管理员Calendar.ReadWrite访问租户中所有用户的日历。

我们的 Web 应用程序能够为更改通知设置订阅,但电子邮件地址中带有撇号的用户除外(即John.O’Neil@nonwhere.com

订阅请求导致以下错误:

同一应用程序的多个租户中的用户会出现此问题。我们能够在我们的测试租户中重现这一点。

在我们的测试中,使用应用程序持有者令牌的授权无法订阅那些电子邮件地址中带有撇号的用户的日历。应用程序能够正确订阅电子邮件地址中没有撇号的其他用户的日历。

此外,相同的 EXACT 请求使用用户自己的授权标头令牌成功。因此,看起来应用程序处理具有不同的代码路径,对于电子邮件地址中带有撇号的用户会出错。

0 投票
1 回答
20 浏览

microsoft-graph-api - 订阅一个用户的所有日历,只获取一个更新

当我按照官方文档中的此处所述为用户事件注册 webhook ,然后在该帐户的非默认日历中插入一个事件(我在注册 webhook 之前创建)时,我没有收到关于 webhook url 的通知。

只有“主日历”(刚刚命名为“日历”)似乎附上了钩子。

我的问题是:

  1. 如何同步到所有日历事件,或者如果这不可能
  2. 如何同步到特定的日历事件
0 投票
1 回答
65 浏览

microsoft-graph-api - Microsoft graph API - 订阅任何日历时出现未经授权的错误

我通过了具有权限的经典 oAuth 流程Calendars.ReadWriteoffline_access,这应该足以创建订阅。

现在我得到了用户的日历列表(通过 api),当我尝试从这些日历中的任何一个请求订阅事件时,如下所示:

(甚至"resource": ,"/me/events"

我得到回应:

我在这里做错了什么?

0 投票
0 回答
255 浏览

python - 如何从 Microsoft Graph API 获取事件主题和内容?

我正在发送一个 GET 请求以/users/{id}/calendar/calendarView?startDateTime={start_datetime}&endDateTime={end_datetime}获取用户的事件,然后我正在过滤事件主题和内容。发生的情况是,在大多数情况下,JSON 响应中的主题只是活动组织者的名称,内容只是空白 HTML,而不是通常可以在日历中看到的值。

我尝试在 JSON 中找到另一个可以提供正确信息的字段,但没有。看起来有些人也有同样的问题(herehere),但没有找到解决方案,或者给出的解决方案不是我需要的。

以下代码是我正在使用的:

0 投票
1 回答
536 浏览

microsoft-graph-api - 创建 Outlook 事件并阻止转发

我想通过 microsoft graph api 创建日历(outlook)事件并设置一些特定的响应选项。在(Windows)Outlook 客户端中,我可以启用/禁用

  • 请求响应
  • 允许新的时间建议
  • 允许转发

在文档中,我只能找到启用/禁用“请求响应”的属性https://docs.microsoft.com/en-us/graph/api/user-post-events?但不是后来的。

问题是如何启用/禁用时间建议转发

我尝试将敏感度设置为“个人”、“私人”和“机密”,但没有帮助。

0 投票
1 回答
39 浏览

python-3.x - 身份验证时未收到刷新令牌

我正在使用 Office 365 图形 API,而身份验证(使用邮递员)我没有获得刷新令牌。access_token 在 1 小时后过期,我必须再次生成身份验证代码,然后要求新的 access_token。我没有选择刷新以前的令牌。

我遵循获取 access_token 的过程:

  1. 发送一个获取请求到 - https://login.microsoftonline.com/common/oauth2/v2.0/authorize 参数:client_id:xxxxxxxxxxxxxxxxxxxxx,client_secret:xxxxxxxxxxxxxxxxxxxxx,response_type:code,redirect_uri:http://localhost:8069,范围:Calendars.Read,response_mode:查询,状态:成功,这里我将在提供的 redirect_uri 中获取响应代码

  2. 然后我将发送一个 post 请求到 - https://login.microsoftonline.com/common/oauth2/v2.0/token 并带有表单数据:grant_type:authorization_code,代码:xxxxxxxxxxxxxxxxxxxxxxx,client_secret:xxxxxxxxxxxxxxxxxxxxxxx,client_id:xxxxxxxxxxxxxxxxxxxxxxx,范围:Calendars.Read,redirect_uri:http://localhost:8069

作为回应,我应该得到-{“token_type”:“Bearer”,“scope”:“Calendars.Read”,“expires_in”:3600,“access_token”:“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,“refresh_token”:“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”}

但我得到{“token_type”:“Bearer”,“scope”:“Calendars.Read”,“expires_in”:3600,“ext_expires_in”:3600,“access_token”:“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,}

请帮忙