是否可以使用curl
生成axios
请求?
卷曲字符串是:
curl -v 'https://developer.api.autodesk.com/authentication/v1/authenticate' --data 'client_id=1234&client_secret=1234&grant_type=client_credentials&scope=bucket:create bucket:read data:write data:read viewables:read' --header 'Content-Type: application/x-www-form-urlencoded' -k | jq '.'
我试着这样做:
getToken() {
axios.get({
url: 'https://developer.api.autodesk.com/authentication/v1/authenticate',
data: {
client_id: '1234',
client_secret: '1234',
grant_type : 'client_credentials',
scope: 'data:read data:viewables'
},
beforeSend: function(xhr) {
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
}, success: function(data){
console.log(data)
}
})
}
但没有运气 - 例如没有任何反应。
我之前使用cygwin
- 终端发出curl
- 请求,我成功获得了回复
{
"token_type": "Bearer",
"expires_in": 1799,
"access_token": "eyJhbGciOiJIUzI1NiIsImtpZCI6Imp3dF9zeW1tZXRyaWNfa2V5X2RldiJ9.eyJjbGllbnRfaWQiOiJjWTFqcm1rQXhPSVptbnNsOVhYN0puVURtVEVETGNGeCIsImV4cCI6MTQ4NzU2NzgwMSwic2NvcGUiOlsiZGF0YTpyZWFkIl0sImF1ZCI6Imh0dHBzOi8vYXV0b2Rlc2suY29tL2F1ZC9qd3RleHAzMCIsImp0aSI6InJZcEZZTURyemtMOWZ1ZFdKSVVlVkxucGNWT29BTDg0dFpKbXlmZ29ORW1MakF0YVVtWktRWU1lYUR2UGlnNGsifQ.uzNexXCeu4efGPKGGhHdKxoJDXHAzLb28B2nSjrq_ys"
}
那么,这可能与React / axios一起使用吗?
除了问题,我可以将收到的令牌传递给另一个curl
请求吗?
答案 0 :(得分:4)
那不是真的"卷曲请求"。这是一个HTTP请求。 Curl只是用于通过命令行执行HTTP(和其他)操作的工具。
在您的HTTP请求中,我可以看到您正在使用axios.get()
,但是您正在尝试发布请求(您已经拥有了一个数据对象)试图发送)。所以你应该使用axios.post()
。最好查看axios page以查看HTTP帖子的语法,包括如何在帖子中包含数据和标题对象。
在回答你的第二个问题时,是的,你可以。在你的第一个axios帖子的.then()
部分,你可以使用响应做另一个axios post,例如
axios.post(
...
).then(response => {
// do another post with response.token or whatever as the data
})
...