1

最近、Microsoftは、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);

しかし、ドキュメントからスニペットを試すと:

var attachmentItem = new AttachmentItem
{
    AttachmentType = AttachmentType.File,
    Name = "flower",
    Size = 3483322
};

await graphClient.Me.Messages["AAMkADI5MAAIT3drCAAA="].Attachments
    .CreateUploadSession(attachmentItem)
    .Request()
    .PostAsync();

私はそれらのエラーを受け取ります:

  1. 型または名前空間名 'AttachmentItem' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
  2. 名前「AttachmentType」は現在のコンテキストに存在しません
  3. 'IMessageAttachmentsCollectionRequestBuilder' には 'CreateUploadSession' の定義が含まれておらず、タイプ 'IMessageAttachmentsCollectionRequestBuilder' の最初の引数を受け入れるアクセス可能な拡張メソッド 'CreateUploadSession' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

グラフ ライブラリ (Microsoft.Graph、Microsoft.Graph.Beta) の安定バージョンとベータ バージョンの両方への参照を追加しました (以前はベータ エンドポイントを使用していました) が見つかりませんAttachmentItem

AttachmentItem の2 つのリポジトリ ( https://github.com/microsoftgraph/msgraph-sdk-dotnethttps://github.com/microsoftgraph/msgraph-beta-sdk-dotnet ) を検索しましたが、何も見つかりませんでした.

大きな添付ファイルを含むメールの送信は非常に新しい機能です (ドキュメントは 2019 年 10 月 25 日のものです) が、ドキュメントによると、これはサポートされているはずです。

ドキュメントは間違っていますか?アップロード セッションを作成して添付ファイルをアップロードするにはどうすればよいですか? リクエストを手動で作成する必要がありますか? または、Microsoft.Graph ライブラリを使用できますか?

CreateUploadSessionドライブのみが表示されます- https://github.com/microsoftgraph/msgraph-sdk-dotnet/search?q=CreateUploadSession&unscoped_q=CreateUploadSession

4

2 に答える 2