私は趣味の VB 開発者で、しばらくの間デスクトップ アプリをいじっています。しかし、私は Web 開発や「Restful」API と呼ばれるものに関しては全くの初心者です (それで落ち着くはずですか?)
asana からタスク情報を取得するいくつかの投稿の背後にあるロジックをたどろうとしましたが、正直なところ、Web ページのバックエンドを作成するためだけに Ruby on Rails を勉強して理解する時間がありません (これは私が作成したものです)。どうすればいいのかわからないでしょう) asana に接続して情報を取得します。
次の手順をガイドしてくれる人を探しています ( Web から焦点を絞った記事を読むのは本当に気にしないので、お気軽にお勧めしますが、この時点までに読みすぎてここで思い出すことはできません。これは私に役立つ方向性を示しています)
新しいアプリケーションを作成するときは、次のことを行います。
- 特定のアサナ タスクに接続する
- タスクに関する特定の情報を取得する (ヘッダー/見出し/コメントなど)
私は次のことを試しました: webrequest を使用してアプリを作成する asana API のサンプルを読む (安らかな...しかし私にとってはそうではありません:))、rubygems、JSON、PHP などですが、これは単に多くの情報を提供するだけなので実用的ではありません。 ..ですから、これを達成する方法の簡単なサンプルを投稿できるVB開発者(またはc#)がいる場合は、本当に知りたいと思います。
1 つのリクエストが機能するようになったら、残りを実行できます。どのように/どこから始めればよいかを知りたいだけです
あなたのアドバイスは大歓迎です
これは私が現在使用しているコードです:
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
しかし、これはウェブページのコンテンツを返すだけです