1

GooglePlacesAPIから有効なAPIキーを取得しました。これをバックエンドで使用する必要があるため、サーバー側のキーを取得します。ただし、curlやRailsコンソールを使用した場合の呼び出しは機能しません。

ただし、ブラウザを介して機能します。そうは言っても、生成したサーバー側のキーを使用していることを3回確認しました。また、GoogleプレイスのドキュメントにあるサンプルURLのみを使用しているため、すべてのパラメータが正しいはずです。これが私のカールです:

curl -v https://maps.googleapis.com/maps/api/place/search/xml?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=my_key

また、(Ruby)Railsコンソールでは:

Net :: HTTP.get_response(URI.parse( "https://maps.googleapis.com/maps/api/place/search/xml?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=my_key" ))

何か案は?複数の人が問題を抱えているようですが、サーバーキーが機能していないことについては特に何もありません。

ありがとう!

4

1 に答える 1

3

CURLでは、URLを引用符で囲んでください。そうしないと、Linuxで作業している場合、URLは最初のアンパサンドの後で切り捨てられ、REQUEST_DENIED応答が発生します。

Rubyを使用したHTTPSの場合、以下が機能するはずです(http://www.rubyinside.com/nethttp-cheat-sheet-2940.htmlを参照)。

require "net/https"
require "uri"

uri = URI.parse("https://maps.googleapis.com/maps/api/place/search/xml?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=...")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(uri.request_uri)

response = http.request(request)
print response.body
于 2012-07-14T00:54:07.220 に答える