我是一个最业余的 VB 开发人员,并且一直在修补桌面应用程序。然而,当谈到 Web 开发和所谓的“Restful”API 时,我是一个完全的菜鸟(它应该让你平静吗?)
我试图遵循一些关于从体式获取任务信息的帖子背后的逻辑,但老实说,我没有时间研究和弄清楚 Ruby on Rails 只是为了编写网页的后端(我不知道该怎么做)连接到体式以获取一些信息。
我正在寻找可以指导我完成以下步骤的任何人(我真的不介意阅读网络上的重点文章,因此请随时推荐它们,但到目前为止,我已经阅读了太多无法回忆的内容,没有这为我指明了一个有用的方向)
创建新应用程序时,我想:
- 连接到特定的体式任务
- 获取任务的具体信息(如标题/标题/注释)
我尝试了以下方法:创建一个带有 webrequest 的应用程序阅读有关 asana API 的示例(restful...但不适合我:))、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
但这只是返回网页的内容