larksuite / node-sdk

larksuite open sdk for nodejs
MIT License
136 stars 27 forks source link

多维表格中新增表格的接口,api调试台中的示例代码有问题 #37

Closed DeeWooo closed 1 year ago

DeeWooo commented 1 year ago

我按示例组map,新增的记录只有行没有数据

image

改成直接这样,就好了

image
mazhe-nerd commented 1 year ago

已知问题,node侧应该用Record,在排期中了

DeeWooo commented 1 year ago

能把文档改了么?

mazhe-nerd commented 1 year ago

能把文档改了么?

文档是指类型文件吗?

DeeWooo commented 1 year ago

能把文档改了么?

文档是指类型文件吗?

指api调试台的示例代码

mazhe-nerd commented 1 year ago

可以给一下这个接口文档的链接吗?

DeeWooo commented 1 year ago

https://open.feishu.cn/api-explorer/cli_a4876c60c425900c?apiName=create&from=op_doc&project=bitable&resource=app.table.record&version=v1

image
mazhe-nerd commented 1 year ago

好的,开始理解错了,文档这块确实还有问题,我看下

kdufwfhp commented 1 year ago

已知问题,node侧应该用Record,在排期中了

新增记录或更新记录时都涉及此问题,若fields改用Record类型,则会产生新问题,Record源码定义如下,不支持接受空值,即新增/修改的数据不能为空,这就很不合理了!!!!!! Record<string, string | number | number | number | boolean | { text?: string; link?: string; } | { location?: string; pname?: string; cityname?: string; adname?: string; address?: string; name?: string; full_address?: string; } | Array<string> | Array<{ id?: string; name?: string; en_name?: string; email?: string; }> | Array<{ file_token?: string; name?: string; type?: string; size?: number; url?: string; tmp_url?: string; }>>

补充:当强制转换fields为any类型后,编译器不报错。字段手动赋值为null,即可设置空值。赋值为undifined时,无效。

mazhe-nerd commented 1 year ago

已知问题,node侧应该用Record,在排期中了

新增记录或更新记录时都涉及此问题,若fields改用Record类型,则会产生新问题,Record源码定义如下,不支持接受空值,即新增/修改的数据不能为空,这就很不合理了!!!!!! Record<string, string | number | number | number | boolean | { text?: string; link?: string; } | { location?: string; pname?: string; cityname?: string; adname?: string; address?: string; name?: string; full_address?: string; } | Array<string> | Array<{ id?: string; name?: string; en_name?: string; email?: string; }> | Array<{ file_token?: string; name?: string; type?: string; size?: number; url?: string; tmp_url?: string; }>>

补充:当强制转换fields为any类型后,编译器不报错。字段手动赋值为null,即可设置空值。赋值为undifined时,无效。

开发者文档中对这个字段的定义是必填,所以变成选填的话是否比较符合语义?sdk是拉文档的数据生成的,文档调整后sdk的类型会自动变更。不过新增或修改时传空的字段的意义是?

kdufwfhp commented 1 year ago

已知问题,node侧应该用Record,在排期中了

新增记录或更新记录时都涉及此问题,若fields改用Record类型,则会产生新问题,Record源码定义如下,不支持接受空值,即新增/修改的数据不能为空,这就很不合理了!!!!!! Record<string, string | number | number | number | boolean | { text?: string; link?: string; } | { location?: string; pname?: string; cityname?: string; adname?: string; address?: string; name?: string; full_address?: string; } | Array<string> | Array<{ id?: string; name?: string; en_name?: string; email?: string; }> | Array<{ file_token?: string; name?: string; type?: string; size?: number; url?: string; tmp_url?: string; }>> 补充:当强制转换fields为any类型后,编译器不报错。字段手动赋值为null,即可设置空值。赋值为undifined时,无效。

开发者文档中对这个字段的定义是必填,所以变成选填的话是否比较符合语义?sdk是拉文档的数据生成的,文档调整后sdk的类型会自动变更。不过新增或修改时传空的字段的意义是?

fields必填是肯定的。 字段类型就按你文档上的,但是字段的值需要支持空值,原因: 新增时意义不大,传个空值可以不处理。但修改时,清空数据这个很常用吧

mazhe-nerd commented 1 year ago

已知问题,node侧应该用Record,在排期中了

新增记录或更新记录时都涉及此问题,若fields改用Record类型,则会产生新问题,Record源码定义如下,不支持接受空值,即新增/修改的数据不能为空,这就很不合理了!!!!!! Record<string, string | number | number | number | boolean | { text?: string; link?: string; } | { location?: string; pname?: string; cityname?: string; adname?: string; address?: string; name?: string; full_address?: string; } | Array<string> | Array<{ id?: string; name?: string; en_name?: string; email?: string; }> | Array<{ file_token?: string; name?: string; type?: string; size?: number; url?: string; tmp_url?: string; }>> 补充:当强制转换fields为any类型后,编译器不报错。字段手动赋值为null,即可设置空值。赋值为undifined时,无效。

开发者文档中对这个字段的定义是必填,所以变成选填的话是否比较符合语义?sdk是拉文档的数据生成的,文档调整后sdk的类型会自动变更。不过新增或修改时传空的字段的意义是?

fields必填是肯定的。 字段类型就按你文档上的,但是字段的值需要支持空值,原因: 新增时意义不大,传个空值可以不处理。但修改时,清空数据这个很常用吧

嗯嗯,我理解你的意思。不过有个问题,如何认为清空数据用更新传空的方式比用[删除记录]这种api的方式语义化更好呢?

kdufwfhp commented 1 year ago

你理解个锤子,抱歉语气重。删除记录API是删除一行数据,一行有多个单元格,我说的清空数据是指删除一个单元格

mazhe-nerd commented 1 year ago

嗯嗯,清空单元格的话传空是合理的