我正在尝试从 Web 上的 Excel 调用外部 API。但是,我一直试图从 fetch 调用中获取结果。我什至使用 Office 文档示例来确保
在 Excel 中,单击自动化以创建新脚本
async function main(workbook: ExcelScript.Workbook): Promise<void> {
let fetchResult = await fetch('https://jsonplaceholder.typicode.com/todos/1');
let json = await fetchResult.json();
}
我不断收到以下消息(在fetchResult.json() call)
“Office 脚本无法推断此变量的数据类型,或者推断它可能会导致意外错误。请注释变量的类型以避免此错误。您还可以使用编辑器中提供的“快速修复”选项来自动填充基于类型的数据。关于用法。可以通过右键单击变量名称并选择“快速修复”链接来访问“快速修复”。
运行 Chrome 检查器时,API 请求似乎被搁置“警告:请求尚未完成”
PS:我不是 Office 管理员,目前无法联系到,但希望这不是我的用户或 Office 帐户配置的问题
知道可能是什么问题吗?
谢谢!
OfficeScript 中不允许的“任何”类型是设计使然。我们认为任何类型一般都可能导致开发人员错误。我知道声明类型可能很困难 - 但如今最流行的 API 为您提供了可以使用的接口(或 d.ts)。
其次,还有一些工具,例如https://quicktype.io/typescript https://quicktype.io/typescript您可以在其中输入示例 JSON,它会为您提供完整的接口,然后您可以使用 interface 关键字在代码中声明该接口。
请参阅此代码例如:https://github.com/sumurthy/officescripts-projects/blob/main/API%20Calls/APICall.ts https://github.com/sumurthy/officescripts-projects/blob/main/API%20Calls/APICall.ts
您不需要声明所有属性 - 只需声明您将使用的属性。
这是更多的前期工作——但最终质量会更好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)