クライアント オブジェクト モデルを使用して新しい ListItems を追加する SharePoint リストがあります。ListItems の追加は問題ではなく、うまく機能します。
次に、添付ファイルを追加します。
次の方法で SaveBinaryDirect を使用しています。
File.SaveBinaryDirect(clientCtx, url.AbsolutePath + "/Attachments/31/" + fileName, inputStream, true);
添付ファイルを追加しようとしているアイテムに、クライアント オブジェクト モデルを使用せずに SharePoint サイトから追加された添付ファイルが既にある限り、問題なく動作します。
まだ添付ファイルがないアイテムに添付ファイルを追加しようとすると、次のエラーが発生します (両方とも発生しますが、同じファイルでは発生しませんが、これら 2 つのメッセージは一貫して表示されます)。
リモート サーバーがエラーを返しました: (409) 競合
リモート サーバーがエラーを返しました: (404) Not Found
このアイテムの添付ファイル フォルダーを最初に作成する必要があるのではないかと考えました。次のコードを試すと:
clientCtx.Load(ticketList.RootFolder.Folders);
clientCtx.ExecuteQuery();
clientCtx.Load(ticketList.RootFolder.Folders[1]); // 1 -> Attachment folder
clientCtx.Load(ticketList.RootFolder.Folders[1].Folders);
clientCtx.ExecuteQuery();
Folder folder = ticketList.RootFolder.Folders[1].Folders.Add("33");
clientCtx.ExecuteQuery();
次のようなエラー メッセージが表示されます。
フォルダー「Lists/Ticket System/Attachment/33」を作成できません
SharePoint サイト/リストの完全な管理者権限を持っています。
私が間違っている可能性のあるアイデアはありますか?
ありがとう、ソーベン