我发现了以下有关如何使用Office 365 rest API发送电子邮件的documentation。
这是关于doucmentation的例子:
POST https://outlook.office.com/api/v2.0/me/sendmail
{
"Message": {
"Subject": "Meet for lunch?",
"Body": {
"ContentType": "Text",
"Content": "The new cafeteria is open."
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
}
],
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "menu.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"SaveToSentItems": "false"
}
如果用户授权应用程序代表它执行操作,则此工作正常。但是,我正在使用客户端信用来构建一个守护程序应用程序,该应用程序代表给定租户中的所有用户,因此" POST https://outlook.office.com/api/v2.0/me/sendmail" 无法运行工作,因为它引用了" me"并且无法告诉哪个用户正在发送电子邮件。
如果你可以提供示例示例,我会谨慎行事。仅供参考:我使用的是Java,但您的回答并非必须是Java。
答案 0 :(得分:5)
用/me
替换网址的/users/<userid>
位。您无法使用/me
对来自客户端凭据的令牌进行任何API调用。