我正在尝试在Salesforce中创建一个具有两个字段的新自定义对象。正在创建该对象,但无法向其写入任何记录。根据错误,对象中不存在字段。
import pandas as pd
from simple_salesforce import Salesforce
sf = Salesforce(username='user', password='pass', security_token='token')
name = "CustomObject13__c"
label = "CO13"
md_api = sf.mdapi
custom_object = md_api.CustomObject(
fullName=name,
label=label,
pluralLabel="Custom Objects",
nameField=md_api.CustomField(
label="Name",
type=md_api.FieldType("Text")
),
fields=[{
'fullName': 'Age__c',
'label': 'Age',
'type': 'Text',
'length': 255
},
{
'fullName': 'Description__c',
'label': 'Description',
'type': 'TextArea'
}],
deploymentStatus=md_api.DeploymentStatus("Deployed"),
sharingModel=md_api.SharingModel("Read")
)
md_api.CustomObject.create(custom_object)
df = pd.DataFrame({'Name': ['Sal Vulcano', 'James Murray'], "Age__c": ["34", "54"],
"Description__c": ["tonight's big loser", "fool-proof plan"]})
for record in df.to_dict('records'):
sf.__getattr__(name).create(record)
错误:
simple_salesforce.异常。Salesforce格式错误的请求:格式错误的请求https://rawcubes-dev-ed.my.salesforce.com/services/data/v52.0/sobjects/CustomObject13__c/。响应内容:[{"消息":"CustomObject13__c类型的对象上没有这样的列'Age__c'",'错误代码':"无效字段"}]
Object Manager - Fields and Relationships Viewer for the object 'CO13'
1条答案
按热度按时间wh6knrhe1#
当你创建一个sObject(数据库中的表)时-它就在那里,但并不意味着你能自动看到它。作为系统管理员,你在管理组织时可以绕过一些检查(在安装程序中进行更改)-但API访问仍然会阻止你。
您需要授予“对象”本身的“创建”、“编辑”权限+添加的每个自定义字段的“编辑”权限。您可以通过编辑您的配置文件或权限集(或创建新权限集并通过将新记录插入PermissionSetAssignment表将其分配给您的用户)来完成此操作。
所以在你插入数据之前,你还需要做一些元数据操作。通常情况下,它是单独完成的,首先创建表(甚至手动),然后加载...