首页 > 解决方案 > 共享日历未显示在 Office 365 的 Azure 获取日历连接器中

问题描述

我在 Office 365 中有一个具有读写权限的共享日历,我正在尝试使用获取日历 (V2) 连接器获取它,但它只获取我自己的日历。有没有办法在 Azure 逻辑应用中获取 Office 365 的共享日历?

标签: azureoffice365azure-logic-apps

解决方案


对于这个问题,我做了一些测试,似乎逻辑应用程序中的“获取日历(V2)”操作无法获取其他人共享给您的日历。但我在下面提供了另一种解决方案(使用图形 api)供您参考:

1.你需要在office 365网页上让其他人分享一个日历给你,而不是在outlook app中。 在此处输入图像描述 在此处输入图像描述

2.然后你需要在你的azure AD中创建一个应用程序,请参考这个教程

在上面您在 azure ad 中创建的应用程序中,请执行以下步骤: 在此处输入图像描述 在此处输入图像描述

之后,请不要忘记单击“授予 xxx 管理员同意”按钮(也许您需要等待几分钟,直到此按钮变为可单击)。 在此处输入图像描述

然后在 azure ad 中的应用程序中单击“证书和机密”并新建一个客户端机密。(将此客户端机密复制到您的笔记本中) 在此处输入图像描述

3.然后在您的逻辑应用中创建一个“HTTP”操作,并参考下面的屏幕截图来请求访问令牌。

在此处输入图像描述

“client_id”是您在 azure ad 中的应用程序 ID,“username”和“password”是您的 azure 用户名和密码,“client_secret”是您在上面得到的。这个“HTTP”操作将帮助我们获取访问令牌。响应应如下所示: 在此处输入图像描述

然后我们需要解析json类型的响应数据,可以使用“ Parse JSON ”动作。 在此处输入图像描述

使用“HTTP”操作中的“Body”并使用以下代码填写“Schema”框:

{
    "properties": {
        "access_token": {
            "type": "string"
        },
        "expires_in": {
            "type": "integer"
        },
        "ext_expires_in": {
            "type": "integer"
        },
        "scope": {
            "type": "string"
        },
        "token_type": {
            "type": "string"
        }
    },
    "type": "object"
}

4.之后,我们可以在逻辑应用程序中创建另一个“HTTP”操作,并为您可以看到的所有日历请求图形 api(请注意,“Bearer”和“access_token”之间有一个空格)。 在此处输入图像描述

5.最后,我们可以在第二个“HTTP”操作的“OUTPUTS”框中获取所有日历。 在此处输入图像描述

希望有帮助~


推荐阅读