【问题标题】:Reading Withings API ruby阅读 Withings API Ruby
【发布时间】:2014-05-09 20:44:00
【问题描述】:

我几天来一直在尝试使用 OAuth Ruby gem 从 Withings API 中提取活动数据。无论我尝试哪种方法,即使我从文档中复制了示例 URI,我也始终得到 503 错误响应(没有足够的参数),当然换掉了用户 ID。过去有没有人有过这种运气。我希望这只是我在做的一些愚蠢的事情。

class Withings
  API_KEY = 'REMOVED'
  API_SECRET = 'REMOVED'
  CONFIGURATION = { site: 'https://oauth.withings.com', request_token_path: '/account/request_token',
                        access_token_path: '/account/access_token', authorize_path: '/account/authorize' }

  before do
    @consumer = OAuth::Consumer.new API_KEY, API_SECRET, CONFIGURATION
    @base_url ||= "#{request.env['rack.url_scheme']}://#{request.env['HTTP_HOST']}#{request.env['SCRIPT_NAME']}"
  end

  get '/' do
    @request_token = @consumer.get_request_token oauth_callback: "#{@base_url}/access_token"
    session[:token] = @request_token.token
    session[:secret] = @request_token.secret

    redirect @request_token.authorize_url
  end

  get '/access_token' do
    @request_token = OAuth::RequestToken.new @consumer, session[:token], session[:secret]

    @access_token = @request_token.get_access_token oauth_verifier: params[:oauth_verifier]
    session[:token] = @access_token.token
    session[:secret] = @access_token.secret
    session[:userid] = params[:userid]

    redirect "#{@base_url}/activity"
  end

  get '/activity' do
    @access_token = OAuth::AccessToken.new @consumer, session[:token], session[:secret]
    response = @access_token.get("http://wbsapi.withings.net/v2/measure?action=getactivity&userid=#{session[:userid]}&startdateymd=2014-01-01&enddateymd=2014-05-09")
    JSON.parse(response.body)
  end
end

对于其他 API 端点,我收到 247 的错误响应 - 提供的用户 ID 不存在或不正确。这真是令人沮丧。谢谢

【问题讨论】:

    标签: ruby oauth withings


    【解决方案1】:

    因此,经过大量的 Google 搜索并更好地了解了我正在使用的 Withings API 和 OAuth 库,我找到了答案。基本上,Withings 使用查询字符串来传递 API 参数。我虽然在进行 API 调用时要正确传递这些参数,但显然我需要显式设置 OAuth 库以使用查询字符串方案,就像这样

    http_method: :get, scheme: :query_string
    

    这已附加到我的 OAuth 使用者配置中,并且立即一切正常。

    【讨论】:

      猜你喜欢
      • 2013-12-05
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 1970-01-01
      相关资源
      最近更新 更多