1

起初,我不是最好的程序员,所以如果我问一些愚蠢的问题,请原谅。

我对以下代码(语言 R)有疑问,我编写这些代码是为了获取Withings API的身份验证代码:

library(httr)
my_client_id = "..." #deleted because it is secret
my_redirect_uri = "..." #deleted because it is secret
my_scope="user.activity,user.metrics,user.info"

access_url = "https://wbsapi.withings.net/v2/oauth2"
authorize_url = "https://account.withings.com/oauth2_user/authorize2"

my_response_type = "code"
my_state = "..." #deleted because it is secret

httr::BROWSE(authorize_url, query = list(response_type = my_response_type, 
                                       client_id = my_client_id, 
                                       redirect_uri = my_redirect_uri, 
                                       scope = my_scope, 
                                       state = my_state))

此代码成功打开网址

http://%22https://account.withings.com/oauth2_user/account_login?response_type=code&client_id=...&redirect_uri=...&scope=user.activity%2Cuser.metrics%2Cuser.info&state=...&b=authorize2%22

我可以在其中输入我的电子邮件地址和密码。之后,它会将我重定向到 URL

http://.../?code=...&state=...

第一个点是我的重定向 URL。这为我提供了获取访问令牌所需的代码。我已经测试了代码,即我尝试使用此代码获取访问令牌并且我成功了。

问题是,我必须手动将代码从 URL(在我的浏览器中)复制/粘贴到我的 POST 语句(我用它来获取访问令牌),并且我想自动化它。所以我想返回带有代码的 URL,以便我可以解析它以提取代码。如果我有 URL,我知道如何提取代码,但我不知道如何避免复制/粘贴,我什至不确定是否可能。如果可能的话,有没有人知道如何在现有代码中添加一些内容,或者如何更改现有代码以获取带有代码的 URL(除了手动执行之外)?

我很高兴得到任何帮助,我想提前说声谢谢!

4

0 回答 0