565344 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2024.02.27
XML
カテゴリ:REST API


using System;

using System.IO;

using System.Net;

using System.Text;


namespace SharePointRESTExample

{

    class Program

    {

        static void Main(string[] args)

        {

            // SharePoint サイトの URL

            string siteUrl = "https://your-sharepoint-site-url.com";


            // リストの名前

            string listName = "YourListName";


            // 追加する数値フィールドの情報

            string fieldName = "NewNumberField";

            string fieldType = "Number";


            // SharePoint サイトのユーザー名とパスワード

            string username = "your_username";

            string password = "your_password";


            // フィールドを追加する REST API URL

            string addFieldUrl = siteUrl + "/_api/web/lists/getByTitle('" + listName + "')/fields";


            // SharePoint REST API へのリクエストの準備

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(addFieldUrl);

            request.Method = "POST";

            request.Accept = "application/json;odata=verbose";

            request.ContentType = "application/json;odata=verbose";


            // ベーシック認証のヘッダーを追加

            string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(username + ":" + password));

            request.Headers[HttpRequestHeader.Authorization] = "Basic " + credentials;


            // 追加するフィールドのメタデータを作成

            string fieldMetadata = string.Format("{{ '__metadata': {{ 'type': 'SP.Field' }}, 'FieldTypeKind': '{0}', 'Title': '{1}', 'StaticName': '{1}', 'Required': false }}", GetFieldTypeKind(fieldType), fieldName);


            // フィールドのメタデータをリクエストに書き込む

            using (var streamWriter = new StreamWriter(request.GetRequestStream()))

            {

                streamWriter.Write(fieldMetadata);

                streamWriter.Flush();

            }


            try

            {

                // REST API からのレスポンスを取得

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();


                // レスポンスの処理

                if (response.StatusCode == HttpStatusCode.Created)

                {

                    Console.WriteLine("Number field added successfully.");

                }

                else

                {

                    Console.WriteLine("Failed to add number field. Status code: " + response.StatusCode);

                }

            }

            catch (WebException ex)

            {

                // エラー処理

                Console.WriteLine("Error: " + ex.Message);

            }

        }


        // フィールドのタイプから FieldTypeKind を取得するメソッド

        static int GetFieldTypeKind(string fieldType)

        {

            switch (fieldType)

            {

                case "Number":

                    return 9;

                default:

                    return -1; // 未知のフィールドタイプの場合は -1 を返す

            }

        }

    }

}







お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.02.27 07:27:57



© Rakuten Group, Inc.