我们处于同样的境地。可能是因为outlook.office365.com REST Api 关闭并且Graph API 从现在开始成为默认值:
如何通过Microsoft Graph API https://docs.microsoft.com/nl-be/检索itemAttachment 的内容
图/api/attachment-get?view=graph-rest-1.0#request-2
现在,我编写了一个脚本来正确执行此操作并且它可以正常工作。但是(1)每次脚本启动(例如在电源故障后)并且一旦登录(2)访问令牌不断过期时,它都需要密码的GUI输入......
Invoke-RestMethod : {
"error": {
"code": "InvalidAuthenticationToken",
"message": "Access token has expired.",
"innerError": {
"request-id": "1c991403-ab46-4aec-a7a1-316dbdfb4eb8",
"date": "2019-01-16T12:29:50"
}
}
}
现在,当您进入文档并开始阅读诸如刷新令牌之类的内容时……简直是疯了!https://docs.microsoft.com/nl-be/graph/auth-v2-user
我已经为 MailChimp 开发了 API 接口,我在一小时内完成了......(1)在 MailChimp 中生成 API 密钥,(2)在您的脚本中使用该 API 密钥,如果需要(3)在 MailChimp 中撤销密钥以防万一紧急情况(完成)。
这个代币 M$ BS 真的很令人兴奋。据我了解,您要么必须使用管理员 PowerShell 工具将令牌更改为 90 天的默认持续时间(但据我所知,服务器范围而不是应用范围?),或者在脚本中每 5 分钟自动刷新一次访问令牌。
这就是为什么我现在正在研究使用 PSMSGraph 显然可以为您完成所有这些工作:https ://psmsgraph.readthedocs.io/en/latest/
如果你能在我做之前让它正常工作,请分享你的代码。由于我当前的解决方案需要手动输入密码(顺便说一句,我不知道如何使这个无头)并且由于令牌过期而在一小时后停止工作。
我确信有一个很好的(安全)理由来使用这种访问令牌的方式做事,但是如果 MailChimp 生成生命周期令牌的方式只是工作......比我看不出为什么 Microsoft Graph 的这种访问令牌复杂性首先需要API。