私は、HttpWebRequestを使用してVB.netデスクトップアプリケーションからGoogleのDistanceMatrix APIを使用しています。 2つの場所(経度と緯度として表現されています)を含むURLを渡して、実際の通りを使って距離をマイルと分で表示します。 (実際にはメートルと秒ですが、私はそれを変換します)GoogleのAPIはデスクトップアプリケーションの使用制限をどのように強化していますか?
これは私のデスクトップから素晴らしい作品です。私のコードの最も重要な部分は以下の通りです。しかし、私はウェブ/インターネット/ネットワーキングの人ではなく、例でこれをやっています。これまでのところ、私はそれがどのように機能するか知る必要はなく、私はそれで涼しいです。
問題: Googleには使用制限があると言われています。個人的に私はこれらの制限に近づくことはありませんが、私のアプリは多くの人に配布されています。実際、一部のユーザーは単一のワークステーションから制限を超える可能性があります。私は必要に応じて余分な使用料を支払うつもりですが、私はこの状況でそうする必要があるかどうかわかりません。
質問: 私は徹底的に(または少なくとも私が持っていると思う)、私が見る限りでは、このシナリオでの使用状況をどのように監視しているかを正確に文書化していません。ドキュメントは、それがWebサーバーから常に使用されると想定しているようで、ドキュメントには特定のドメインからは使用できないという参照がいくつかあります。しかし、これはWindowsフォームアプリなので、本当に「ドメイン別」ですか?どのドメインですか?サービスプロバイダのドメインですか?それともIPアドレスですか?そして、重要なのは、この状況で各ユーザを別々にカウントするか、それがどこにあってもアプリ自体に何らかの形で結びついているのだろうか?
申し訳ありませんが、私はstoopitのようです。しかし、そこに助けがありますか?
私のコードの関連する機能は以下のとおりです。このAPIのGoogleのドキュメントページもあります。 documentationで説明
http://code.google.com/apis/maps/documentation/distancematrix/
Public Function GetHTML(ByVal URL As String, Optional ByVal UserName As String = "", Optional ByVal Password As String = "") As String
Try
Dim reader As StreamReader
Dim Request As HttpWebRequest = HttpWebRequest.Create(URL)
'The following line empowers some downloads to work.
If UserName <> "" Then
Request.Credentials = New NetworkCredential(UserName, Password)
End If
Request.AllowAutoRedirect = True
Request.CookieContainer = CookieJar
Dim Response As HttpWebResponse = Request.GetResponse()
reader = New StreamReader(Response.GetResponseStream())
Response.Close()
Return reader.ReadToEnd()
Catch
Return ""
End Try
End Function
URLに「キー」がありますか? – AakashM
いいえ、私はYahooのジオコーディングサービスも使用するため、あなたは何を意味するのかを知っています。そのために鍵が必要です。しかし、GoogleのDistanceMatrixに使用している正確なURLは、http://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&sensor=false&origins=XXXX&destinations=XXXXです(XXXXはロング/ラットのペアに置き換えられます)。 )参照、キーはありません。 – PaulOTron2000