如何通过 API 创建自定义字段?

How to create custom field via API?

这是 Question/Answer 案例,因此您不会在此处找到任何详细信息。

在谷歌搜索后的几个小时内,我找到了您可以在下面找到的解决方案。

simple_salesforce

from simple_salesforce import Salesforce


def custom_field_create:
    """
    Based on https://salesforce.stackexchange.com/a/212747/65221

    Examples of field types you can find in the column "Data Type" of the salesforce front end,
    on the page where you can create/edit/delete fields for your selected object.

    NOTE: case of "type" is important. For example the type "DateTime" 
          must be exactly "DateTime" and not like "datetime".
    """

    email = 'your_email'
    password = 'your_password'
    security_token = 'your_token'

    object_api_name = 'contact'  # replace with your object name
    field_api_name = 'Activity_Time'  # replace with your field name
    field_label = 'Activity Time'  # replace with your field label
    
    sf = Salesforce(username=email, password=password, security_token=security_token)
    url = 'tooling/sobjects/CustomField/'

    payload = {
        "Metadata":
            {"type": "Text", "inlineHelpText": "", "precision": None, "label": f"{field_label}", "length": 90, "required": False},
        "FullName": f"{object_api_name}.{field_api_name}__c"
    }

    result = sf.restful(url, method='POST', json=payload)
    print('result:', result)