我正在尝试使用 prestashop api (使用 React Native )进行查询以从数据库接收数据。我阅读了此文档并尝试将给定的代码调整为我需要的。我在 prestashop BO 中创建了 API 密钥,并将授权也设置为“全部”。但我总是收到错误 400。当我打印响应时,我得到以下信息:
这是我的代码:
import {encode} from "base-64";
import parser from "fast-xml-parser";
export async function getProductsMatching() {
const apiKey = "PS_API_KEY";
const authorizationKey = encode(apiKey + ":");
const url = "https://www.website.com/api/v1/addresses?display=full";
fetch(url, {
method: "GET",
headers: {
Authorization: "Basic " + authorizationKey,
"Content-Type": "application/json",
},
})
.then((response) => {
if (!response.ok) {
throw new Error("Erreur lors de la récupération des données");
}
return response.text();
})
.then((xmlData) => {
const jsonData = parser.parse(xmlData);
console.log("Parsed Data:", jsonData);
})
.catch((error) => {
console.log("Erreur ici", error);
});
}
如果有人能解释一下为什么我收到错误 400..
我尝试了很多方法并删除了网址中的“/v1/”,使脚本正常工作:
const url = "https://www.website.com/api/products";
fetch(url, {
method: "GET",
headers: {
Authorization: `Basic ${authorizationKey}`,
"Content-Type": "application/json",
},
})