使用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