【问题标题】:adding an api key for httparty in ruby on rails在 ruby​​ on rails 中为 httparty 添加一个 api 密钥
【发布时间】:2017-09-10 23:03:49
【问题描述】:

我正在尝试使用 adafruit api 访问我的数据。

目前,当我尝试访问时,我收到以下消息:

{"error":"not found - API 文档可以在https://io.adafruit.com/api/docs找到"}

我认为这是因为我没有添加密钥(因为如果您在 adafruit 示例页面上不使用密钥,我会收到相同的消息)但我不知道在哪里添加它。

目前,我的控制器中只有这个:

def index

   @tests = HTTParty.get('https://io.adafruit.com/api/v2/username/myfeed/test/data')

end

提前感谢x

【问题讨论】:

  • 你在哪里需要那个 API 中的 API 密钥?是标题、查询参数等吗?无论哪种方式,都可以检查this answer 到一个相关问题,了解如何添加查询参数或标题(即使问题是关于标题的)

标签: ruby-on-rails ruby ruby-on-rails-4 httparty adafruit


【解决方案1】:

请更改您的代码

def index

   @tests = HTTParty.get('https://io.adafruit.com/api/v2/username/myfeed/test/data?key_id=your_key_id')

end

【讨论】:

  • 感谢您的回复。还是同样的问题?
【解决方案2】:

根据https://learn.adafruit.com/adafruit-io/browser 的文档,密钥的参数是 X-AIO-Key。据我所知,您可以使用查询参数或标题,因此以下组合应该可以工作,理论上,我个人还没有尝试过。

@tests = HTTParty.get('https://io.adafruit.com/api/v2/username/myfeed/test/data', :headers => { 'content-type': 'application/json', 'X-AIO-Key': 'yourkey' })

@tests = HTTParty.get('https://io.adafruit.com/api/v2/username/myfeed/test/data', {:headers => { 'content-type': 'application/json'}, :query => {'X-AIO-Key': 'yourkey' }})

还有一个使用 v1 api 的 ruby​​ 客户端库 https://github.com/adafruit/io-client-ruby。有一个尚未合并的 v2 拉取请求,但该库使用法拉第而不是 httparty。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 2014-02-07
    相关资源
    最近更新 更多