2014-12-22 2 views
0

Я получаю ошибку:Ошибка пытается создать асан проект в VB.NET

400 Bad request

при попытке создать проект с помощью vb.net в асане.

Примечание: ApiKey Я использую работы, когда я использую его в другом коде vb.net, чтобы получить список рабочих областей, где я получил свой идентификатор рабочей области.

Это мой код; Буду признателен за любую понимание ...

Public Sub main() 

    Dim address As Uri 
    address = New Uri("https://app.asana.com/api/1.0/projects") 

    Dim ApiKey As String 
    ApiKey = "<my api key>" 
    Dim basicAuthenticationString As String 
    basicAuthenticationString = Convert.ToBase64String(New UTF8Encoding().GetBytes(ApiKey + ":")) 

    ' Create the web request 
    Dim request As HttpWebRequest 
    request = DirectCast(WebRequest.Create(address), HttpWebRequest) 
    request.Headers("Authorization") = "Basic " & basicAuthenticationString 
    request.Method = "POST" 
    request.ContentType = "application/json" 

    Dim postData As String = "{""data"":[{""name"":""Randy Test Project"",""notes"":""Randy Test Project Notes"",""workspace"":5272875888767}]}" 
    Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData) 
    request.ContentLength = byteArray.Length 

    Dim dataStream As Stream = request.GetRequestStream() 
    dataStream.Write(byteArray, 0, byteArray.Length) 
    dataStream.Close() 

    Dim response As HttpWebResponse = request.GetResponse() 
    Console.WriteLine(CType(response, HttpWebResponse).StatusDescription) 
    dataStream = response.GetResponseStream() 
    Dim reader As New StreamReader(dataStream) 
    Dim responseFromServer As String = reader.ReadToEnd() 
    Console.WriteLine(responseFromServer) 
    reader.Close() 
    dataStream.Close() 
    response.Close() 

    Exit Sub 

End Sub 
+0

См. Ответ для получения более подробной информации –

ответ

1

Я был в состоянии понять это, мой адрес должен был быть:

Dim адрес Как Uri = New Uri ("app.asana.com/ API/1.0/команды/22956925957833/проекты ")

Тогда мой PostData должно быть:

Dim PostData As String = "{"" данные "": { "" имя "": "" Randy Test Проект "", "Примечания" ":" "Примечания к проекту Randy Test" "}}"

0

В качестве альтернативы вы можете указать команду или рабочее пространство в данных сообщения. Когда вы получите 400 Bad Request, тело ответа об ошибке сообщит вам, какие поля на самом деле отсутствуют/недействительны.

Смежные вопросы