获取 Myob 帐户正确的 API 访问令牌错误



我正在尝试从MYOB获取访问令牌。我进行的 POST 调用返回"400 错误请求错误" 我正在使用"axios"进行开机自检调用 我已经获得了我在开机自检呼叫中发送的数据中使用的访问代码

这是我的代码

const config= { headers:{'Content-Type':"application/x-www-form-urlencoded"}}
const data={
client_id:"xxxxxxxxxxxxxxxxxxxxxxx",
client_secret:"xxxxxxxxxxxxxxxxxxxxx",
scope:"CompanyFile",
code: code,
redirect_uri:"http%3A%2F%2Flocalhost%3A30002Fcallback",
grant_type : "authorization_code"
}
axios.post("https://secure.myob.com/oauth2/v1/authorize", data, config)
.then((res) =>{
console.log ("response ...............", res
}
)
.catch((error) => {
console.error("Error here is ........",error)
}
)

默认情况下,Axios将尝试将您的data字段发布为不正确的JSON。

相反,您希望对它们进行 url 编码,并在 HTTP 正文中发布 url 编码的字符串。请参阅文档中的"示例呼叫"。

这里有一个关于如何使用 axios 进行 url 编码的很好的例子。

我还注意到您的redirect_uri字段已经进行了 url 编码,因此尝试第二次简单地对其进行编码意味着您最终会得到类似http%253A%252F%252Flocalhost不正确的东西。根据示例调用仔细检查您的 URL 编码,以确保您不会意外地对某些字段进行两次编码。 从内存中,访问代码已经正确编码,因此您可能需要在重新编码之前对其进行解码以使其正常工作。

相关内容

  • 没有找到相关文章

最新更新