我正在尝试编写一个ActiveResources模型来与Google Places API - https://developers.google.com/places/web-service/search#PlaceSearchRequests进行交互
我看到API需要一个键和一些参数来获取结果。所以我的问题是:我如何正确地将API密钥添加到请求中,因为现在我不知道它是否正在进行,以及我如何设置模型以便在稍后我想要做的事情时传递参数:
GooglePlace.where(query: 'whatever')到目前为止,我只有一个ActiveResource的默认模板,没有关于如何添加缺少的信息的线索:
class GooglePlace < ActiveResource::Base
self.site = 'https://maps.googleapis.com/maps/api/place/textsearch/json?query=pool'
@key = API_KEY
end而我在控制器中的索引操作方法如下所示:
def index
@users = GooglePlace.where(query: 'pool')
end在控制台中,我得到的结果是:
Started GET "/google_places" for ::1 at 2016-02-27 16:41:11 -0300
Processing by GooglePlacesController#index as HTML
Rendered google_places/index.html.erb within layouts/application (61.0ms)
Completed 500 Internal Server Error in 2027ms (ActiveRecord: 0.0ms)任何帮助都将不胜感激。谢谢您抽时间见我!
发布于 2016-02-28 08:41:01
根据this piece of code的说法,一个人必须覆盖许多ActiveResource的方法,才能使它甚至与普通的非Rails REST API一起工作。我真的不认为这是值得的,所以也许ActiveResource真的是用于Rails到Rails的通信。感谢每一个试图帮助我的人。
发布于 2016-02-28 03:59:50
听起来你只是在问:我从哪里得到我自己的API密钥?
https://console.developers.google.com/home/dashboard
在那里,在右上角选择"Select a Project“> "Start a project”,您可以选择要使用的Google API,并为它们生成密钥。
请注意,该密钥仅适用于您的应用程序。每个应用程序都应该有自己的唯一键。
https://stackoverflow.com/questions/35674627
复制相似问题