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

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

2024.02.26
XML
カテゴリ: VB.NET


Imports System.Net.Http

Imports System.Text

Imports System.Threading.Tasks


Module Module1


    Sub Main()

        Dim siteUrl As String = "https://your-sharepoint-site-url"

        Dim username As String = "your-username"

        Dim password As String = "your-password"

        Dim listName As String = "YourListName"

        Dim fieldName As String = "NewField"

        Dim fieldType As String = "Text"


        AddFieldToList(siteUrl, username, password, listName, fieldName, fieldType).Wait()

    End Sub


    Async Function AddFieldToList(siteUrl As String, username As String, password As String, listName As String, fieldName As String, fieldType As String) As Task

        Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}"))


        Using client As New HttpClient()

            client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials)

            client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"))


            Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/fields"


            Dim metadata As String = $"{{'__metadata': {{'type': 'SP.Field'}},'Title': '{fieldName}','FieldTypeKind': {GetFieldTypeKind(fieldType)}}}"


            Dim content As New StringContent(metadata, Encoding.UTF8, "application/json")


            Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, content)


            If response.IsSuccessStatusCode Then

                Console.WriteLine($"Field '{fieldName}' added successfully to list '{listName}'.")

            Else

                Console.WriteLine($"Failed to add field. StatusCode: {response.StatusCode}")

            End If

        End Using

    End Function


    Function GetFieldTypeKind(fieldType As String) As Integer

        Select Case fieldType.ToLower()

            Case "text"

                Return 2

            Case "note"

                Return 3

            Case "number"

                Return 9

            Case "choice"

                Return 6

            Case "date"

                Return 4

            Case "datetime"

                Return 5

            Case Else

                Return -1 ' Unknown field type

        End Select

    End Function

End Module







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

Last updated  2024.02.26 02:39:14


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

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: