使用Python调用monday.com API创建条目时标签列值无法写入
问题原因
标签(tag)类型列更新失败的核心原因是传参格式不符合monday.com API的写入要求:
- 你之前尝试的
{'text': cloudname}结构是API查询标签列时返回的只读展示字段,不支持作为写入参数传入 - 直接传入标签名字符串的格式也不被API接受,标签列写入不支持自动按名称匹配标签
标签列写入时只识别tag_ids字段,要求传入当前看板下已存在的标签对应的数字ID数组,支持同时传入多个ID实现多标签绑定。
修正方法
第一步:获取目标看板的标签ID列表
先执行如下GraphQL查询,替换占位符为你自己的看板ID,拿到所有可用标签的名称和对应ID:
query { boards(ids: <你的看板ID>) { tags { id name } } }
从返回结果中找到你需要绑定的标签对应的数字ID,比如标签名production对应ID123456,记录该ID备用。
第二步:调整代码传参格式
将原来标签列的赋值结构替换为{"tag_ids": [标签ID]}格式,修正后的完整代码如下:
import json import requests query = ''' mutation ($device: String!, $columnVals: JSON!) { create_item ( board_id: <你的看板ID>, item_name: $device, column_values: $columnVals ) { id } } ''' # 替换为你第一步查到的目标标签ID,多标签就往数组里追加多个ID target_tag_ids = [123456] vars = { 'device': device, 'columnVals': json.dumps({ 'cloud_name6': { 'tag_ids': target_tag_ids } }) } data = {'query': query, 'variables': vars} r = requests.post(url=apiUrl, json=data, headers=headers) print(r.json())
注意事项
- 标签ID和看板绑定,跨看板的标签ID无法通用,必须查询当前目标看板下的标签ID再传入
- 如果传入不存在的标签ID,API不会抛出明确错误,但标签列会赋值失败
- 多标签场景直接把多个标签ID追加到
tag_ids对应的数组中即可,不需要额外调整结构
内容的提问来源于stack exchange,提问作者Krishnom
相关产品推荐
相关产品推荐

