我是一個最懶的VB開發人員,並且一直在修改桌面應用程序一段時間。 Hoever我是一個總noob當涉及到網絡開發和'Restful'API的東西(它是否應該讓你冷靜?)使用webrequests連接到asana
我試圖按照邏輯背後的一些職位獲取任務信息從asana,但老實說,我沒有時間研究和弄清楚Ruby on Rails,所以我可以寫一個網頁的後端(我不知道該怎麼辦)連接到asana來獲取一些信息回來。
我要找的人,可以引導我通過以下步驟(我真的不介意閱讀重點從網絡物品可以隨意推薦他們,但截止到這一點,我已經閱讀太多在這裏回顧,沒有任何東西都指向我一個有益的方向)
當創建一個新的應用程序,我想:
- 連接到特定的體位任務
- 獲取特定informati對任務(如標頭/標題/評論)
我曾嘗試以下: 用WebRequest的創建應用 閱讀體式API例子(寧靜......但不適合我: )),rubygems,JSON,PHP等,但這是不切實際的,因爲它只是很多信息... 所以我真的很想知道,並且非常感謝它,如果有一個VB開發人員(或c#),可以發佈如何實現這個簡單的示例
一旦我得到一個請求工作,我可以做其餘的。我只需要知道如何/哪裏開始
你的意見是非常讚賞
這是我使用的時刻代碼:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim response As String = GetResponse("https://app.asana.com/0/taskIDhere")
MsgBox(response)
End Sub
Public Function GetResponse(uri As String, Optional data As String = "", Optional method As String = "GET") As String
System.Diagnostics.Trace.WriteLine(uri)
' create request
Dim request As HttpWebRequest = DirectCast(WebRequest.Create(uri), HttpWebRequest)
request.PreAuthenticate = True
request.Method = method
request.ContentType = "application/x-www-form-urlencoded"
' log in
Dim authInfo As String = API_KEY & ":" & ""
' blank password
authInfo = Convert.ToBase64String(Encoding.[Default].GetBytes(authInfo))
request.Headers("Authorization") = "Basic " & authInfo
' send data
If data <> "" Then
Dim paramBytes As Byte() = Encoding.ASCII.GetBytes(data)
request.ContentLength = paramBytes.Length
Dim reqStream As Stream = request.GetRequestStream()
reqStream.Write(paramBytes, 0, paramBytes.Length)
reqStream.Close()
End If
' get response
Try
Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
Return New StreamReader(response.GetResponseStream()).ReadToEnd()
Catch ex As WebException
Dim response As HttpWebResponse = DirectCast(ex.Response, HttpWebResponse)
Throw New Exception((uri & " caused a " & CInt(response.StatusCode) & " error." & vbLf) + response.StatusDescription)
End Try
End Function
但這只是返回的內容的網頁
好吧,看起來上面的代碼是正確的。我對反饋的解釋是錯誤的。 現在我只需要弄清楚如何獲得任務Id的:) –