首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取Withings红宝石

读取Withings红宝石
EN

Stack Overflow用户
提问于 2014-05-09 20:44:00
回答 1查看 566关注 0票数 1

几天来,我一直试图使用OAuth Ruby从Withings中提取活动数据。无论我尝试哪种方法,我都会得到503个错误响应(没有足够的params),即使我从文档中复制了这个示例URI,当然已经交换了userid。过去有没有人在这件事上有过好运。我希望这只是我在做的蠢事。

代码语言:javascript
复制
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 --提供的userid不存在或不正确。这真是令人沮丧。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-16 22:36:32

因此,经过大量的Googleing和更好地理解了我正在使用的Withings和OAuth库,我找到了答案。基本上,Withing使用查询字符串传递API参数。在进行API调用时,我想正确地传递这些参数,但显然我需要显式地设置OAuth库以使用查询字符串方案,如下所示

代码语言:javascript
复制
http_method: :get, scheme: :query_string

这将被附加到我的OAuth使用者配置中,并且所有这些都可以立即正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23573648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档