r语言 - 如何使用 httr 为 Trello 创建 oauth 令牌时修复"无效return_url"错误?



我想使用 trelloR 软件包管理我的 Trello 卡和板,但是当我尝试使用get_token函数创建令牌时,我在浏览器上收到一条错误消息:"无效return_url"。

my_token <- get_token(key = my_key, secret = my_secret)

my_key是我个人的 Trello API 密钥,my_secret是我的 OAuth 密钥。登录后,我在 Trello 页面上获得了它们,该页面为您提供了身份验证代码:https://trello.com/app-key

要使用 Trello API 并访问看板,我需要一个令牌。此令牌由 httr 包使用 OAuth1.0 生成。事实上,该函数get_token做这样的事情,根据 trelloR 的作者和维护者 Jakub Chromec 的说法:

trello.app = httr::oauth_app(
appname = "trello-app",
key = my_key,
secret = my_secret)
trello.urls = httr::oauth_endpoint(
request = "OAuthGetRequestToken",
authorize ="OAuthAuthorizeToken?scope=read&expiration=30days&name=trello-app",
access = "OAuthGetAccessToken",
base_url = "https://trello.com/1")
httr::oauth1.0_token(
endpoint = trello.urls,
app = trello.app)

当我使用我的个人密钥和秘密执行此代码或get_token函数时,我被重定向到我的浏览器,这是正常的。如本页所述,应出现一个屏幕,要求我允许身份验证。但相反,我只是在浏览器中显示一条错误消息:"无效return_url"。

在 RStudio 控制台中,这仍然显示:

> my_token <- get_token(my_key, my_secret)
Waiting for authentication in browser...
Press Esc/Ctrl + C to abort

我在macOS 10.15下使用httr 1.4.1,curl 4.2和trelloR 0.6.0以及R 3.6.1。

有些人报告说,问题在引入允许的源之后开始,他们能够通过添加以下源来修复它:

http://localhost:1410

在应用密钥页面上。这对我来说有点令人惊讶,因为默认*应该涵盖所有来源,但你去吧。

今天(11 年 23 月 2019 日(尝试这个,我无法让通配符作为允许的源工作。 您应该指定运行授权调用的域。

混淆的一个来源:https://trello.com/app-key 上"允许的来源"下的评论指的是"允许您的应用程序重定向回授权流"的站点。 这让我有点困惑。 该列表应包括您要重定向回的站点以及您从中调用 Trello.authorize(( 的站点。

如果你在想"我不需要重定向"(事实上,如果你使用的是客户端.js,我认为你不能指定重定向(,那么"允许的来源"下的那些评论可能会让你相信你不需要在那里指定任何东西。 这是不正确的。

摘要:即使您不希望授权后重定向,您仍然必须列出 ORIGIN。

此外,您不能在允许的源中指定 file://,因此不能在本地文件上运行 javascript。

最新更新