gpt4 book ai didi

r - 使用 httr 对 Fitbit 进行 Oauth 身份验证

转载 作者:行者123 更新时间:2023-12-02 17:47:52 25 4
gpt4 key购买 nike

我正在尝试使用 httr library 连接到 fitbit api .

使用提供的示例,我想出了以下代码:

library(httr)

key <- '<edited>'
secret <- '<edited>'
tokenURL <- 'http://api.fitbit.com/oauth/request_token'
accessTokenURL <- 'http://api.fitbit.com/oauth/access_token'
authorizeURL <- 'https://www.fitbit.com/oauth/authorize'

fbr <- oauth_app('fitbitR',key,secret)
fitbit <- oauth_endpoint(tokenURL,authorizeURL,accessTokenURL)

token <- oauth1.0_token(fitbit,fbr)
sig <- sign_oauth1.0(fbr,
token=token$oauth_token,
token_secret=token$oauth_token_secret
)

我从 httr 收到身份验证完成。消息,但尝试访问 api 时会抛出错误消息

GET("http://api.fitbit.com/1/user/-/activities/date/2012-08-29.json", sig)
Response [http://api.fitbit.com/1/user/-/activities/date/2012-08-29.json]
Status: 401
Content-type: application/x-www-form-urlencoded;charset=UTF-8
{"errors":[{"errorType":"oauth","fieldName":"oauth_access_token","message":"Invalid signature or token '<edited>' or token '<edited>'"}]}

有任何关于问题可能是什么的线索吗?

最佳答案

问题来自 httr 库,该库使用curlEscape 来编码参数,而 OAuth 1.0 规范需要百分比编码(请参阅 this page )。

用curlPercentEncode替换对curlEscape的调用解决了这个问题!

非常感谢@mark-s 的帮助。

关于r - 使用 httr 对 Fitbit 进行 Oauth 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12212958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com