0

我正在尝试使用工具API 更新 salesforce 上自定义字段的选项列表。

这是我的有效载荷:

        payload = {
            "Metadata": {
                "valueSet": {
                    "valueSetDefinition": {
                        "value": [{'color': None, 'default': False, 'description': None, 'isActive': None, 'label': 'Agilysis'}],
                        "sorted": True,
                    },
                    "restricted": False,
                }
            },
        }

我正在使用 python 库simple-salesforce发出请求

response = sf.toolingexecute(self.SALES_FORCE_OBJECT_NAME + self.id, method='PATCH', data=payload)

这会导致以下错误消息:

simple_salesforce.exceptions.SalesforceMalformedRequest: Malformed request https://canarytechnologies.my.salesforce.com/services/data/v52.0/tooling/sobjects/CustomField/00N5w00000ObMPzEAN. Response content: [{'message': 'At least one value is required to create this picklist.', 'errorCode': 'FIELD_INTEGRITY_EXCEPTION', 'fields': []}]

我无法找到我的有效载荷的问题。我正在使用 API 版本 52.0。

4

1 回答 1

0

您缺少fullName对值的定义(仅定义label),这就是为什么它会抛出错误,说没有值。

payload = {
            "Metadata": {
                "valueSet": {
                    "valueSetDefinition": {
                        "value": [{'color': None, 'default': False, 'description': None, 'isActive': None, 'label': 'Agilysis', 'fullName': 'Agilysis'}],
                        "sorted": True,
                    },
                    "restricted": False,
                }
            },
        }
于 2022-02-21T15:51:26.197 回答