我最近将我的测试自动化项目从使用smtp协议迁移到Microsoft Graph Api,以自动发送电子邮件和阅读回复。我们使用ClientSecretCredentialBuilder访问令牌,我们可以发送电子邮件和阅读回复当本地运行,然而当相同的测试运行到404年詹金斯我们面临:没有找到错误当试图发送邮件。
Azure应用程序具有发送和阅读电子邮件所需的所有权限,我是否在权限中缺少任何内容,或者我是否必须安装任何Jenkins插件来读取来自Microsoft Graph API服务的数据?
下面是我面对的错误:
com.microsoft.graph.http。GraphServiceException: Error code: ResourceNotFound错误消息:无法发现资源。
https://graph.microsoft.com/v1.0/users/1/microsoft.graph.sendMailSdkVersion: graph-java/v3.2.0[…]
404: Not Found[…]
提前感谢您的帮助
由于代码在本地工作,我想,问题在于Id
的用户使用。
https://graph.microsoft.com/v1.0/users/1/microsoft.graph.sendMail
是复制粘贴的,还是出于安全原因在发布之前更改了Id
?如果您没有更改url,这应该是问题所在,因为您将没有Id: 1
的用户。大多数情况下,Id
将是一个GUID,在这里了解更多。
另一种可能性是,您将用户的Id
保存在环境变量中,而您忘记在Jenkins中添加该变量。