gpt4 book ai didi

javascript - 使用 AJAX 向 API 发出请求时遇到问题

转载 作者:行者123 更新时间:2023-11-29 22:46:34 24 4
gpt4 key购买 nike

我的公司使用软件 nocrm.io 来跟踪潜在客户和客户。我想在我们的网络应用程序中使用他们的 API 来获取和发布信息。目前我在尝试使用他们的 API 在我们的 Web 应用程序中发出 http 请求时遇到问题。每次我尝试执行 GET 请求以 ping 我的 APIKey 时,我都会收到 401 错误。我试过通过 Postman 发出请求并且它们有效,但是当我尝试在我的应用程序中实现这些请求时它们不起作用,这让事情有点令人沮丧。

如果有人有使用此 API 的经验或类似的东西可以帮助我,那就太好了。

这是他们 API 的链接:https://youdontneedacrm.com/api#nocrm.io-api

目前我正在使用 jquery AJAX 来发出请求。我试过像他们的 API 所建议的那样将 APIKey 放在 header 中,但这只会给我 401 和 CORS。他们的 API 还建议您可以将 APIKey 放在请求的参数中,但我仍然遇到相同的 401 错误。

是的,我还确保我使用的 APIKey 是正确的,所以这不应该是问题。

我将请求放入浏览器,它返回 200 状态,表明我的 APIKey 也正确。

下面是目前给我的 401 错误。

我的文件.js

import $ from 'jquery'
const api_key = require('../../../env.config.json').CRM.API_KEY;

class Myfile extends React.Component{

constructor(props){
super(props);
this.state = {}
}

PingApi(){
var url = 'https://OUR_ACCOUNT.nocrm.io/api/v2/ping'
var apikey = api_key

var dataObject = {
'X-API-KEY': apikey
}

$.ajax({
type: 'GET',
dataType: 'jsonp',
url: url,
data: dataObject,
headers: {"Accept": "application/json"},
crossDomain: true,
beforeSend: function(xhr){
xhr.withCredentials = true;
},
success: function(data, textStatus, jqXHR){
console.log("Good");
},
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
})
}


render(){
return(
<button onClick={this.PingApi.bind(this)}>Ping API</button>
);
}
}

export default Myfile

我希望得到一个返回 json 对象的 200 状态,但得到的却是 401。

编辑这是在 Postman 中运行的请求的屏幕截图。显然,出于安全原因,我屏蔽了敏感信息。是的,API key 与我在我们的网络应用程序中使用的相同。

enter image description here

最佳答案

虽然您可以通过请求正文或 header 传递 API key (根据文档)- 您发送的是 GET 请求,但没有正文。通过 header 传递它:

headers: {"Accept": "application/json", "X-API-KEY": apikey}

关于javascript - 使用 AJAX 向 API 发出请求时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58326806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com