我希望使用图形 API 发送带有大附件(最多 20MB)的电子邮件。有没有办法发送带有大附件的电子邮件?
之前对 Graph 的尝试发现了 4MB 的上传限制。我还考虑过将文件上传到 OneDrive 并通过引用附加它,但我相信这会遇到相同的 4MB 限制。
此限制排除了 Microsoft Graph。
我听说旧版 Outlook REST API 能够处理大型文件上传,但是,我今天找不到任何访问 Outlook REST API 的方法,看起来它已被弃用。此外,我从 Microsoft 读到的所有文档都很快鼓励您使用新的 Graph API。
查看 Azure 门户,似乎无法让我的应用程序通过 Outlook API 进行身份验证,这在任何地方都不是一个选项。
作为参考,这里是我一直在 Graph API 中使用的相关片段。
$mailBody = ...
'attachments' => [
[
'@odata.type' => '#microsoft.graph.fileAttachment',
'Name' => 'file.docx',
'ContentBytes' => $localFile
]
]
...
$response = $this->getGraph()->createRequest("POST", "/users/{primary-user}/sendMail")
->attachBody($mailBody)
->execute();
Run Code Online (Sandbox Code Playgroud) 最近微软宣布可以发送附件大于4MB的电子邮件。根据文档,我们必须创建草稿,然后上传会话,上传附件,最后发送邮件。
我可以使用以下代码创建草稿:
var confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithClientSecret(clientSecret)
.WithTenantId(tenant)
.Build();
var authenticationProvider = new ClientCredentialProvider(confidentialClientApplication);
var graphClient = new GraphServiceClient(authenticationProvider);
var email = new Message
{
Body = new ItemBody
{
Content = i + " Works fine! " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
ContentType = BodyType.Html,
},
Subject = "Test" + (j == 0 ? "" : " " + j),
ToRecipients = recipientList,
Attachments = att
};
Message draft = await graphClient
.Users["test@test.onmicrosoft.com"]
.Messages
.Request()
.AddAsync(mail);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试文档中的片段时:
var …Run Code Online (Sandbox Code Playgroud) c# microsoft-graph-sdks microsoft-graph-mail microsoft-graph-api
我想获得一个访客用户列表Microsoft Graph explorer.我试过了
?$filter -eq usertype
Run Code Online (Sandbox Code Playgroud)
但似乎usertype不得而知.
有人可以帮我解决这个问题吗?
当我尝试将$filter条款应用于/beta/groups如下时:
$filter=resourceProvisioningOptions/Any(x:x eq 'Team') and visibility eq 'Private'
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
{
"error": {
"code": "Request_UnsupportedQuery",
"message": "Unsupported or invalid query filter clause specified for property 'visibility' of resource 'Group'.",
"innerError": {
"request-id": "eb6a7c7e-96da-4358-871d-e20ee5f82e2e",
"date": "2020-01-09T23:25:01"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?