我有一个web应用程序,用户可以在其中注册"事件";。如果用户注册了gmail电子邮件ID,我可以将这些事件直接同步到用户的谷歌日历。我正在尝试检查Outlook用户是否也可以这样做。
在检查Microsoft Graph时,他们确实有API来创建、修改和删除Outlook日历上的日历事件,但我在设置其中的身份验证和授权部分时遇到了问题。据我所知,他们有两种使用API的方法-委派和应用程序。对于委托API,将弹出一个UI,它将要求用户登录,然后所有API将假设该操作的用户标识。对于应用程序API,没有登录页面,但也没有用户与调用相关联,因此只有通用类型的API才能在不涉及用户的情况下工作。既然我想将其集成到web应用程序中,是否可以设置服务器可以代表我的帐户发送事件请求?
您可以使用以下方法:
- 从您的帐户向用户发送邀请,您需要Web服务器才能使用您的帐户。要么通过自己登录并缓存&刷新令牌。或者使用您自己的租户,并在管理员同意和应用程序凭据的情况下进行
- 让用户登录并直接将项目添加到他们的日历中。如果用户有业务帐户,您可能永远不会被授权访问日历。因为这被认为是一个相当严重的同意
另一种方式是将事件作为ics文件提供。这样,用户就可以下载它,如果他们安装了Outlook,该项目将自动添加到日历中。