【问题标题】:Copy a mail using Microsoft Graph C# SDK使用 Microsoft Graph C# SDK 复制邮件
【发布时间】:2023-02-15 03:30:08
【问题描述】:

我想将邮件从一个文件夹复制到另一个文件夹。

参考文档,它应该像这样工作:

GraphServiceClient graphClient = new GraphServiceClient(authProvider);

var destinationId = "destinationId-value";

await graphClient.Me.Messages["{message-id}"]
  .Copy(destinationId)
  .Request()
  .PostAsync();

但是,当我尝试像描述的那样使用 .Copy() 时,我得到了错误,我不能像方法一样使用它。如果我尝试将信息添加为 [],就像为 users 或 messages 属性所做的那样,我会收到不同的错误。

我试过这样的:

GraphServiceClient graphClient = GetGraphClientInstance();

var destinationFolderId = "destinationFolderId-value";

await graphClient.Users["myUserName"].Messages[specificMail.Id]
   .Copy(destinationFolderId )
   .Request()
   .PostAsync();

我正在使用 Microsoft.Graph 版本。 5.0.0-预览-12

有谁知道如何正确使用 Copy 属性?

【问题讨论】:

  • 我按照文档建议的方式使用它并且它有效,.Move(destinationFolderId) 对你有用吗?
  • @IvanGechev 不,我得到了同样的错误。不能像方法一样使用。我将 Microsoft.Graph nuget 的版本添加到我的原始请求中。也许与此有关。
  • 我使用.Move().Copy()的两个项目都安装了4.6.0版本,也许你可以尝试降级。
  • @IvanGechev 我可以试试这个。但是,在旧版本中,nuget 缺少我需要的其他功能:/。
  • 我使用的是<PackageReference Include="Microsoft.Identity.Web.MicrosoftGraph" Version="1.25.3" />,在我的controller中使用using Microsoft.Graph;后,代码sn-p不报错。 i.stack.imgur.com/PPVha.png

标签: c# microsoft-graph-api microsoft-graph-sdks


【解决方案1】:

使用 Microsoft.Graph v5 您的原始代码:

var graphClient = new GraphServiceClient(authProvider);
var destinationId = "destinationId-value";

await graphClient.Me.Messages["{message-id}"]
  .Copy(destinationId)
  .Request()
  .PostAsync();

应该改为:

var graphClient = new GraphServiceClient(authProvider);
var destinationId = "destinationId-value";

await graphClient.Users["myUserName"].Messages[specificMail.Id]
  .MicrosoftGraphMove
  .PostAsync(new MovePostRequestBody() { DestinationId = destinationId });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多