r语言 - StackExchange API:无法解析client_id



我正在尝试连接到R中的StackExchange API。

当我尝试时:

library(httr)
end <- oauth_endpoint(authorize   = "https://stackoverflow.com/oauth",
access = "https://stackoverflow.com/oauth")
myapp <- oauth_app("myapp",
key    = "KEY",           # tried swapping these
secret = "CLIENT SECRET",
redirect_uri = "https://stackoverflow.com/oauth/login_success")
token <- oauth2.0_token(end,
myapp)

浏览器将打开,但会导致以下消息(在浏览器中(:

Couldn't parse `client_id`

如果我尝试使用相反(反向(的keysecret值,或者将key设置为值和secret=NULL的事件(只是为了在没有特权访问的情况下进行测试(,也会发生这种情况。

StackExchange API文档说,他们给你的key值并不是一个秘密,但client_secret值才是。在oauth_app帮助中,它说secret"不等同于密码,也不是真正的秘密"。有趣。

目前,我只是尝试建立初始测试连接。

更新:我很好奇这是否真的是无法解析特殊字符的问题。我尝试转义密钥和client_secret中的 2 个括号 ((((。这并没有改变任何事情。然后我尝试将两者设置为空字符串(即key = ""等(,但这不知何故导致了相同的结果。我觉得这是一个线索,但我仍然不知道出了什么问题。

您使用的是隐式("客户端"(OAuth(SE API Doc(。

这意味着身份验证序列应类似于以下示例:

  1. 您的应用 HTTP GETS:

    https://stackexchange.com/oauth/dialog?client_id=4709&scope=private_info&redirect_uri=https://stackexchange.com/oauth/login_success
    

    client_idscope根据您的情况设置的位置。

  2. 然后,您的应用将重定向到:

    https://stackexchange.com/oauth/login_success#access_token=wdR8Lm7m4ibD48lfrCcFxQ))&expires=86399
    

    例如。

    其中access_token是需要身份验证的后续调用所需的内容。

我不是 r 编码员,但猜测语法应该是这样的:

myapp <- oauth_app("myapp",
client_id   = "{Your App's ID}",
scope       = "private_info",  #  Or whatever is desired. See the doc page linked above
redirect_uri = "https://stackoverflow.com/oauth/login_success")
  • client_secret仅用于服务器端(显式(OAuth。
  • 出于配额目的,在所有后续调用中传递key,无论是否需要 OAuth。

我遇到了同样的错误,我的问题是我正在使用客户端密钥作为我的client_id参数的值

相关内容

最新更新