我需要从个人Outlook日历中获取当天的事件。除了微软的教程(https://learn.microsoft.com/en-us/graph/tutorials/python)之外,我在网上几乎找不到任何可行的资源,但我不想构建Django应用程序。有人能提供其他资源吗?
另外:我见过很多ppl使用GET <url>
命令调用API。我一辈子都不明白你能在哪里用这个?在使用API时,我是否错过了一些关键的东西?
我需要从个人Outlook日历中获取当天的事件。除了微软的教程(https://learn.microsoft.com/en-us/graph/tutorials/python)之外,我在网上几乎找不到任何可行的资源,但我不想构建Django应用程序。有人能提供其他资源吗?
另外:我见过很多ppl使用GET <url>
命令调用API。我一辈子都不明白你能在哪里用这个?在使用API时,我是否错过了一些关键的东西?
2条答案
按热度按时间rdlzhqv91#
首先,你应该知道,如果你想调用ms graph api,你需要先获得访问令牌,并将其添加到请求头,如下面的截图。我在屏幕截图中显示的是创建日历事件,但它们是相似的。因此,您无法避免生成令牌。
然后有两种方法摆在你面前,如果你正在编写一个Web应用程序,那么你可以按照本节找到适合你的示例,如果你正在编写一个守护程序应用程序,这意味着你需要在这里使用
clientcredentialflow
,你可以参考本节。无论是使用SDK还是发送http请求来调用API,都需要选择合适的流程来获取访问令牌。
jobtbby32#
为此,无需通过python中的
request
使用Microsoft Graph API,有一个名为O365的PyPI包。通过以下步骤,您可以轻松读取Microsoft日历:
1.安装包:
pip install O365
1.在Microsoft Azure控制台中注册一个应用程序,并保留
application (client) id
和client secret
-这个article可以帮助您。1.检查
signInAudience
,它应该是AzureADandPersonalMicrosoftAccount
而不是MicrosoftAzure Manifest中的PersonalMicrosoftAccount
,否则,您可以编辑它。1.接下来,你应该设置你想要的范围的委托权限,在你的例子中是
Calendars.Read
。以下是我在Azure中的配置快照:现在是时候深入代码了: