我正在尝试从 Excel 网页版调用外部 API ( https://api.fortnox.se/3/customers/2 )。
我正在调用的 Web API 返回一个 jason 数据结构,例如此处“检索客户”会话下的“响应”:https ://developer.fortnox.se/documentation/resources/customers/
响应数据结构:
{
"Customer": {
"@url": "https://api.fortnox.se/3/customers/102",
"Active": true,
"Address1": "Halltorpsgatan",
"Address2": null,
"City": "KLIPPAN",
"Comments": null,
"CostCenter": null,
"Country": "Sverige",
"CountryCode": "SE",
"Currency": "SEK",
"CustomerNumber": "102",
"DefaultDeliveryTypes": {
"Invoice": "PRINT",
"Offer": "PRINT",
"Order": "PRINT"
},
"DefaultTemplates": {
"CashInvoice": "DEFAULTTEMPLATE",
"Invoice": "DEFAULTTEMPLATE",
"Offer": "DEFAULTTEMPLATE",
"Order": "DEFAULTTEMPLATE"
},
"DeliveryAddress1": null,
"DeliveryAddress2": null,
"DeliveryCity": null,
"DeliveryCountry": null,
"DeliveryCountryCode": null,
"DeliveryFax": null,
"DeliveryName": null,
"DeliveryPhone1": null,
"DeliveryPhone2": null,
"DeliveryZipCode": null,
"Email": "a.s@example.com",
"EmailInvoice": "a.s@example.com",
"EmailInvoiceBCC": "",
"EmailInvoiceCC": "",
"EmailOffer": "a.s@example.com",
"EmailOfferBCC": "",
"EmailOfferCC": "",
"EmailOrder": "a.s@example.com",
"EmailOrderBCC": "",
"EmailOrderCC": "",
"Fax": null,
"GLN": null,
"GLNDelivery": null,
"InvoiceAdministrationFee": null,
"InvoiceDiscount": null,
"InvoiceFreight": null,
"InvoiceRemark": "",
"Name": "Anders Svensson",
"OrganisationNumber": "",
"OurReference": "",
"Phone1": "0435-9249236",
"Phone2": null,
"PriceList": "A",
"Project": "",
"SalesAccount": null,
"ShowPriceVATIncluded": false,
"TermsOfDelivery": "",
"TermsOfPayment": "",
"Type": "PRIVATE",
"VATNumber": "",
"VATType": "SEVAT",
"VisitingAddress": null,
"VisitingCity": null,
"VisitingCountry": null,
"VisitingCountryCode": null,
"VisitingZipCode": null,
"WWW": "",
"WayOfDelivery": "",
"YourReference": "",
"ZipCode": "264 32"
}
}
受 Stackoverflow 帖子的启发:Office Script 上的 Fetch error (Excel on web)我编写了以下代码:
interface aCustomer {
Customer: CustomerClass;
}
interface CustomerClass {
Address1: string;
Country: string;
}
async function main(workbook: ExcelScript.Workbook): Promise<void> {
let response = await fetch("https://api.fortnox.se/3/customers/2", {
method: "GET",
mode: "no-cors",
headers: {
"Access-Token": "XXXX",
"Client-Secret": "XXXX",
"Content-Type": "application/json",
"Accept": "application/json"
}
});
let customer2: aCustomer = await response.json();
console.log(customer2);
}
但是当我运行它时,它一直抛出错误:“第 21 行:输入意外结束”
第 21 行:让 customer2: Customer = await response.json()
我想我定义了一个错误的接口,或者知道问题可能是什么?谢谢!