Saya memiliki aplikasi konsol yang mencoba mengunggah dokumen ke daftar pustaka dokumen titik berbagi.

Saya berhasil melakukannya dan saya juga dapat mengisi salah satu nilai Kolom kustom (Nama kolom adalah: "Kategori") saat mengunggah file menggunakan C#.

Saya telah mencoba mengisi nilai kolom khusus lainnya (Nama kolom adalah: "Aset Terkait") menggunakan prosedur yang sama tetapi saya mendapatkan kesalahan yang menyatakan bahwa nama kolom yang disediakan tidak ada tetapi ketika saya melihat di portal titik berbagi yang sebenarnya, itu memang ada.

Jadi tidak bisa menyelesaikan masalah ini. Bahkan saya mencoba beberapa metode seperti yang diberikan di bawah ini dan saya mendapatkan pesan kesalahan yang sama dalam hal kolom tidak ada atau telah dihapus atau tidak dapat mengenalinya.

Silakan temukan tangkapan layar SharePoint yang memperlihatkan daftar kolom:

enter image description here

Silakan temukan kode yang saya miliki sampai sekarang yang mengunggah dokumen ke portal SharePoint.

public static async Task<string> UploadReleaseNoteDocumentintoSpPortal(string releasenotefilepath, string releasenotefilename, string clientid, string clientsecret)
        {
            string status = string.Empty;
            try
            {
                Console.WriteLine("Trying to Upload Release note file into  Share Point Portal...");
                
                string siteUrl = "<<Sp site URL>>";

                Console.WriteLine("Connecting to Share Point Portal...");
                var ClientContext = new OfficeDevPnP.Core.AuthenticationManager().GetAppOnlyAuthenticatedContext(siteUrl, clientid, clientsecret);
                ClientContext.Load(ClientContext.Web, p => p.Title);
                await ClientContext.ExecuteQueryAsync();
                Console.WriteLine(ClientContext.Web.Title);
                var web = ClientContext.Web;
                Console.WriteLine("Connected successfully to Share Point Portal...");

                List DocumentsList = web.Lists.GetByTitle("Accelerators Documents");
                ClientContext.Load(DocumentsList.RootFolder);
                await ClientContext.ExecuteQueryAsync();
                Console.WriteLine("Reading and loading the list named : Accelerators Documents from SP");

                Console.WriteLine("Converting the release note document into byte array");
                byte[] bytes = System.IO.File.ReadAllBytes(releasenotefilepath);
              
                MemoryStream stream = new MemoryStream(bytes);

                Console.WriteLine("Storing the release note Data into File Create information object of SharePoint");
                FileCreationInformation FileCreateInfo = new FileCreationInformation();
                FileCreateInfo.Content = bytes;
                FileCreateInfo.ContentStream = stream;
                FileCreateInfo.Overwrite = true;
                FileCreateInfo.Url = DocumentsList.RootFolder.ServerRelativeUrl + @"\" + releasenotefilename;

                Console.WriteLine("Adding file to  SharePoint");
                var ReleaseNoteFiledata = DocumentsList.RootFolder.Files.Add(FileCreateInfo);
                ReleaseNoteFiledata.Update();
                ReleaseNoteFiledata.ListItemAllFields["Category"] = "Release Notes";
        //ReleaseNoteFiledata.ListItemAllFields["Related Assets"] = "<<Desired Value>>"; 
                //IN Above commented line i get the error stating Microsoft.SharePoint.Client.ServerException: 
        //'Column 'Related Assets' does not exist. It may have been deleted by another user.  
        //But in actual site if we see it exists as you can see in above screenshot
                ReleaseNoteFiledata.ListItemAllFields.Update();
                ClientContext.Load(ReleaseNoteFiledata);
                await ClientContext.ExecuteQueryAsync();

                Console.WriteLine("Adding file to SharePoint Completed Successfully...");
                return status = "Successful";
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception occured while trying to upload Release note file into CoP Portal :" + ex.Message);
                return status = "Error/Exception";
            }
        }

Silakan temukan pesan kesalahan yang saya dapatkan saat mencoba menambahkan nilai ke kolom kustom lain yang ada di SharePoint: Microsoft.SharePoint.Client.ServerException: 'Kolom 'Aset Terkait' tidak ada. Mungkin telah dihapus oleh pengguna lain.

Bahkan jika saya menggunakan ReleaseNoteFiledata.SetFileProperties() dan meneruskan nilai sebagai pasangan nilai kunci kamus yang berisi nama kolom dan nilainya, saya juga mendapatkan kesalahan yang sama untuk kolom kustom kedua. Jika saya hanya menyimpan kolom kustom kategori maka itu berfungsi dengan baik tanpa masalah apa pun seperti yang Anda lihat pada tangkapan layar di atas.

Jika saya memilih catatan dan melihat detail atau properti di SharePoint, simbol kolom aset terkait adalah seperti di tangkapan layar di bawah ini:

enter image description here

Tolong beri tahu saya jika dokumen pendukung baik-baik saja atau masih jika masalah saya tidak dapat dipahami sehingga saya dapat membingkai ulang atau memberikan lebih banyak tangkapan layar.

Tolong bantu saya dalam memecahkan masalah di atas atau bagaimana membuat kolom ini dikenali atau dibaca atau diidentifikasi dalam kode.

Terima kasih sebelumnya

Salam

ChaitannyaNG

0
Chaitanya N G 7 Juli 2020, 09:32

1 menjawab

Jawaban Terbaik

Anda perlu menggunakan nama internal kolom 'Aset Terkait' dalam kode Anda. Seharusnya Related_x0020_Assets.

Anda dapat memeriksa nama internal kolom dengan masuk ke pengaturan daftar-> klik kolom, Anda akan melihat nama internal di url.

enter image description here

1
Michael Han_MSFT 7 Juli 2020, 07:48