使用cURL连接到带有OAuth 2.0和Filemaker的Xero时,_授权无效

使用cURL连接到带有OAuth 2.0和Filemaker的Xero时,_授权无效,curl,filemaker,xero-api,Curl,Filemaker,Xero Api,我正在使用FileMaker Pro将数据库从使用OAuth 1.0a更新为2.0,以便与Xero一起使用,但遇到了一个问题 我可以成功授权应用程序(步骤1)并解析返回的代码和状态。 然后,我需要使用特定的头和主体将代码发送回令牌端点()。这就是我被困的地方 这里需要的是:包含以下内容的POST请求 标题1: Authorization: "Basic " + base64encode(client_id + ":" + client_secret) Header 2: Content-Ty

我正在使用
FileMaker Pro
将数据库从使用
OAuth 1.0a
更新为
2.0
,以便与
Xero
一起使用,但遇到了一个问题

我可以成功授权应用程序(步骤1)并解析返回的代码和状态。 然后,我需要使用特定的头和主体将代码发送回令牌端点()。这就是我被困的地方

这里需要的是:包含以下内容的POST请求

标题1:

Authorization: "Basic " + base64encode(client_id + ":" + client_secret)

Header 2:

Content-Type: application/x-www-form-urlencoded
请求机构:

grant_type=authorization_code

&code=xxxxxx

&redirect_uri=https://redirecturl.com
我在
Filemaker
中所做的是一个
“从URL插入”
,具有以下
cURL
选项:(以及
Xero
标记端点作为指定的URL)

但是,当运行脚本时,它总是以一个错误响应,无效的\u grant

我检查过了,并且99%确定重定向url在整个过程中是一致的

我是新来的
cURL
,我假设我的语法中一定有什么我想不出来的地方,我非常感谢您对我的语法有什么想法,以及任何帮助

感谢堆

尝试使用
--data urlencode
curl选项,而不是
-d
。您可能需要将每个查询参数放在cURL calc中自己的行中

大概是这样的:

"-X POST" &

" -H \"Content-Type: application/x-www-form-urlencoded\"" &

" -H \"Authorization: Basic " & Base64EncodeRFC (4648; token::client_id &":"& token::client_secret ) & "\"" &

" --data-urlencode \"grant_type=authorization_code\"" &
" --data-urlencode \"code=" & token::code & "\"" &
" --data-urlencode \"redirect_uri=https://redirecturl.com\""
"-X POST" &

" -H \"Content-Type: application/x-www-form-urlencoded\"" &

" -H \"Authorization: Basic " & Base64EncodeRFC (4648; token::client_id &":"& token::client_secret ) & "\"" &

" --data-urlencode \"grant_type=authorization_code\"" &
" --data-urlencode \"code=" & token::code & "\"" &
" --data-urlencode \"redirect_uri=https://redirecturl.com\""