使用R和Jeff Gentry的ROAuth软件包尝试从fitbit中提取数据,并且认证似乎不起作用。代码如下:ROAuth R和FitBit API错误:未提供授权标头
apiURL = 'api.fitbit.com/'
credentials = OAuthFactory$new(consumerKey=key,
consumerSecret=secret,
requestURL=tokenURL,
accessURL=accessTokenURL,
authURL=authorizeURL
)
,然后我跑握手:
> credentials$handshake()
To enable the connection, please direct your web browser to:
http://www.fitbit.com/oauth/authorize?oauth_token=036afa88a832bfffc72af485e38c1572
When complete, record the PIN given to you and provide it here:
完成授权,并在oauth_verifier令牌粘贴,从而在适当的面色组凭据。
最后,我试图让我以后我的配置文件数据:
rawToChar(credentials$OAuthRequest(paste(apiURL,"1/user/userID/profile.json", sep="", collapse=''), "GET"))
而且我得到这样的回应:
[1] "{\"errors\":[{\"errorType\":\"oauth\",\"fieldName\":\"n/a\",\"message\":\"No
Authorization header provided in the request. Each call to Fitbit API should be OAuth
signed\"}]}"
仍然无法正确发送授权标头(我相信这是问题)。 oauthGET函数中的某处必须设置一些额外的.opts,但我无法弄清楚哪一个。写给RCurl的作者邓肯朗看看他是否会知道。 – 2012-07-25 14:51:18
DTL实际上是接管ROAuth的人之一,所以你可能会问他关于版本0.99.2(他现在的开发版)是否是另一种可能性。 – geoffjentry 2012-07-25 17:39:59
好吧,取得一些进展,对于fitbit来说,它似乎需要在将Oauth参数作为值传递之前将其引入引号中。现在将RCurl的verbose = T选项打开并获取更多有用的信息 – 2012-07-25 18:27:14