我想使用 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。