2017-05-06 151 views
0

我很難從我的測試.net應用程序添加一個記錄到airtable。我能夠正確讀取數據,但我不確定是否正確格式化數據或者不向頭添加內容。以下是一個示例:如何將airtable curl POST命令轉換爲c#或vb.net?

Dim wHeader As WebHeaderCollection = New WebHeaderCollection() 

    wHeader.Clear() 
    wHeader.Add("Authorization: Bearer keynNkH2CywXXXXX") 

    Dim sUrl As String = "https://api.airtable.com/v0/appGajjD5tTMmyCC5/Logs" 

    Dim wRequest As HttpWebRequest = DirectCast(System.Net.HttpWebRequest.Create(sUrl), HttpWebRequest) 

    wRequest.ContentType = "application/json" ' I don't know what your content type is 
    wRequest.Headers = wHeader 

    wRequest.Method = "POST" 
    wRequest.Accept = "*/*" 
    Dim myData = "{""fields"": {""AppName"": ""test2"", ""Action"": ""hlkj"", ""User"": ""lhkjnjn""}}" 

    wRequest.GetRequestStream.Write(System.Text.Encoding.UTF8.GetBytes(myData), 0, System.Text.Encoding.UTF8.GetBytes(myData).Count) 

    Dim wResponse As HttpWebResponse = DirectCast(wRequest.GetResponse(), HttpWebResponse) 

    Dim sResponse As String = "" 

    Using srRead As New StreamReader(wResponse.GetResponseStream()) 
     sResponse = srRead.ReadToEnd() 
    End Using 
    MessageBox.Show(sResponse) 

我一直收到的錯誤是「422 Unprocessable Entity」。

回答

-1

我遇到同樣的問題。編碼類似於你的東西,得到這個錯誤。然後試圖將這個:https://github.com/ngocnicholas/airtable.net 合併到我的項目中,但得到相同的錯誤。 在你想嘗試納入該客戶到你的項目的情況下,這是如何將它從VB撥打:

Protected Async Sub t2Async() 
     Dim myFields As Fields = New Fields() 
     myFields.AddField("Name", "Some value") 
     Dim myAirtableBase As AirtableBase = New AirtableBase(appKey, baseId) 
     Dim myTask As Task(Of AirtableCreateUpdateReplaceRecordResponse) = myAirtableBase.CreateRecord("Clients", myFields, False) 
     Dim response = Await myTask 
    End Sub 

但正如我所說,它產生同樣的錯誤。讓我知道,如果你想出點什麼......