Как Rails Geocoder Gem получает доступ к API Google?

Я знаю, что нам нужно использовать уникальный ключ API для доступа к Google Geocoding API. Я использую Rails Geocoder Gem в своем приложении и обнаружил, что он использует Google Geocoding API. Мне не удалось найти файлы конфигурации, определяющие Ключи API для доступа к API Google. Как гем Geocoder получает доступ к API Google.


person Sooraj Chandu    schedule 29.10.2014    source источник


Ответы (1)


Geocoder.configure(
  :lookup => :google_premier,
  :api_key => [ 'GOOGLE_CRYPTO_KEY', 'GOOGLE_CLIENT_ID', 'GOOGLE_CHANNEL' ],
  :timeout => 5,
  :units => :km,
)

https://github.com/alexreisner/geocoder

Вот еще одна ссылка: http://hankstoever.com/posts/11-Pro-Tips-for-Using-Geocoder-with-Rails

в разделе Некоторые распространенные параметры конфигурации:

Вам следует изучить этот ответ: Работает ли геокодер с ключ API Google?

В нем говорится:

Geocoder поддерживает ключи API Google только для учетных записей Google Premier.

Но вы можете использовать для этого инфраструктуру на стороне клиента, а не размещать ее на сервере.

https://developers.google.com/maps/articles/geocodestrat

Я написал что-то подобное несколько дней назад на рубине, если это поможет:

require 'net/http'
require "resolv-replace.rb"
require 'json'

url = URI("https://maps.googleapis.com/maps/api/geocode/json")
puts "enter country code"
c_code = gets
puts "enter zip code "
zip = gets

url.query= URI.encode_www_form({ address: "#{c_code.chomp}+#{zip.chomp}" })
res = Net::HTTP::get_response(url)

json_data = res.body if res.is_a?(Net::HTTPSuccess)

data = JSON.parse(json_data)
p data
person argentum47    schedule 29.10.2014
comment
Эй, какой современный способ генерировать учетные данные для Google теперь, когда все проходит через облачную платформу Google API? Нам нужен Service account key ? Я могу найти закрытый ключ и идентификатор клиента, но как насчет канала Google? - person Cyril Duchon-Doris; 27.09.2018
comment
@CyrilDuchon-Doris Прошу прощения, но я давно с этим не сталкивался. Возможно, вам придется задать другой вопрос или попробовать поискать в Google. Вот почему я стараюсь не использовать код, который включает интеграцию сторонних API. - person argentum47; 24.03.2020