Salesforce对象描述有大数据,如何从Salesforce对象描述中获取有限的数据,例如选项列表值

2023-12-12

我正在寻找获取销售人员对象的字段和选项列表的方法。我可以使用 REAT API 调用来完成此操作/describe在对象名称之后。但有时返回的 JSON 数据非常大,其中有 95% 的额外数据是我不想要的,并且带有重复的模式字符串。

仅仅为了获取我需要的小信息而提取所有数据的效率太低了,这些数据实际上可能有 2.8Mb。

如何查询查询过滤此数据以获得更具体的结果?或者是否有更好的方法来获取字段的选项列表,或来自该大 json 的任何其他子数据/describe?

这是我目前正在使用的

https://[myinstance].salesforce.com/services/data/v51.0/sobjects/Casedata/describe


您可以查询FieldDefinition例如,Tooling API 中的表

/services/data/v52.0/tooling/query?q=SELECT+Metadata+FROM+FieldDefinition+WHERE+EntityDefinitionId+=+'Account'+AND+QualifiedApiName+=+'Status__c'

(...)
"valueSet" : {
        "controllingField" : null,
        "restricted" : true,
        "valueSetDefinition" : {
          "sorted" : false,
          "value" : [ {
            "color" : null,
            "default" : false,
            "description" : null,
            "isActive" : null,
            "label" : "Prospect",
            "urls" : null,
            "valueName" : "Prospect"
          }, {
            "color" : null,
            "default" : false,
            "description" : null,
            "isActive" : null,
            "label" : "Live",
            "urls" : null,
            "valueName" : "Live"
          }, {
            "color" : null,
            "default" : false,
            "description" : null,
            "isActive" : null,
            "label" : "Cancelled",
            "urls" : null,
            "valueName" : "Cancelled"
          }
(...)

选项列表值将位于Metadata字段,但要查询它,您需要确保只返回 1 行。因此,如果您需要 3 个选项列表 - 即 3 个 API 调用...

它将返回“主”选项列表,而不是按记录类型过滤。

还有一个有趣的表叫做PicklistValueInfo。它的描述不太好,这是一个相关列表EntityParticle。您可以查询以一次性获取多个选项列表值

SELECT DurableId,EntityParticleId,IsActive,Label,Value 
FROM PicklistValueInfo
WHERE EntityParticle.EntityDefinition.DeveloperName = 'Account' AND 
(DurableId LIKE 'Account.Industry%' OR DurableId LIKE 'Account.Type%')
ORDER BY DurableId

enter image description here

或者使用它相关的列表样式(这可能更接近描述调用的结果?)

SELECT DataType, FieldDefinition.QualifiedApiName,
    (SELECT Value, Label FROM PicklistValues)
FROM EntityParticle 
WHERE EntityDefinition.QualifiedApiName ='Account'
    AND QualifiedApiName IN ('Industry', 'Type', 'Status__c')

如果你使用记录类型- David 链接的 UI API 是最简单的。

https://developer.salesforce.com/docs/atlas.en-us.uiapi.meta/uiapi/ui_api_resources_picklist_values_collection.htm

你可以把它们全部抓住

/services/data/v52.0/ui-api/object-info/Account/picklist-values/012...

enter image description here

或者构建如屏幕截图所示的链接以获取单个字段的数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Salesforce对象描述有大数据,如何从Salesforce对象描述中获取有限的数据,例如选项列表值 的相关文章

随机推荐

  • 使用元标记和 PHP 重定向页面

    在这里 在 PHP 代码中 我面临着在有效登录后重定向页面的问题 示例代码 result mysql query sql count mysql num rows result if count 1 echo else gt gt
  • 如何在没有 ResultSet 的情况下获得 ResultSetMetaData 的等效项

    我需要将一堆列名解析为列索引 以便使用一些不错的ResultSetMetaData方法 然而 我知道如何获得的唯一方法ResultSetMetaData对象是通过调用getMetaData 一些ResultSet 我遇到的问题是 获取 Re
  • Spring 批量暂停/恢复与停止/重新启动

    我是 Spring Batch 的新手 有一些关于暂停 恢复的问题 阅读 spring Batch 文档后 似乎没有任何内置的暂停或恢复功能 但是 我从主站点找到了这个用例 http docs spring io spring batch
  • 如何一条一条选择记录而不重复

    select id name from customer order by random limit 5 上述查询选择随机记录 但是它会重复行 我只想每次选择一行而不重复 假设我的 id 为 1 到 5 第一次我想选择 1 第二次查询显示
  • 使用 Azure Active Directory Oauth 进行 Azure 服务管理 API 身份验证

    我想通过curl 使用Azure AD 对Azure 服务管理API 进行身份验证 I 设置一个应用程序在我的默认目录中 在这个免费试用订阅中 这是我拥有的唯一目录 当我定位 oauth 令牌端点时 我收到一个 JWT curl data
  • 关于验证用户登录名和密码的问题

    朋友们 我需要制作一个软件 需要验证有效的用户登录才能使用软件 我试过这个 bool valid false using PrincipalContext context new PrincipalContext ContextType D
  • Docker compose在另一个目录会影响其他容器

    我有一个问题 我用我的docker compose一个项目的文件 然后我将其复制到另一个目录以运行另一个容器 但每当我这样做时 它都会重新创建现有容器 或者如果我使用 down 命令 它还会销毁另一个目录中的容器 可能会出现什么问题 这是我
  • 如何将工作日和时间对象解析为从今天开始的下一个逻辑日期?

    我的字符串中有一个日期 看起来像MON 07 15 我试图将其解析为Date使用这段代码 System out println new SimpleDateFormat E kk mm parse MON 07 15 使用上面的代码 打印一
  • requiredFieldValidator 在更新面板中工作异常

    我有一个带有文本框 必填字段验证器和几个按钮的更新面板 页面加载时 您会看到一个标签和一个按钮 按下按钮时 将显示文本框和验证器 以及其他按钮 显示的基本变化效果很好 但是 即使文本框已填充 我的验证器 设置为动态 也会显示其错误消息 假设
  • 强制 iOS 从 HTML5 Canvas 下载图像(使用纯 JavaScript)

    这个问题之前已经被问过 普遍的回答是在 iOS 上无法完成 However这些问题已经存在了好几年了 有可能已经制定了解决方法 或者现在有办法做到这一点 我有一个可用的纯 JavaScript 图像编辑器 它不会让最后的编辑步骤 保存编辑后
  • 动态高度浏览器

    我正在尝试在自定义滚动视图中创建一个自定义视图分页器 动态包裹当前孩子的高度 package com example vihaan dynamicviewpager import android content Context import
  • Python win32com 和二维数组

    当使用 python 和 win32com 来自动化 Adob e 软件时 会遇到传递 2d 坐标数组的问题 如果看一下 Adob e 为 Visual Basic VB 提供的代码 就会发现很简单 在 Illustrator 中绘制线条的
  • Gorm 关系错误:需要为关系定义有效的外键或者需要实现 Valuer/Scanner 接口

    我正在对使用 Gorm 时出现的问题进行故障排除 我的 sqlite3 数据库和 Go 数据模型一切都工作得很好 但是当我遇到一些依赖项问题时 无法在构建环境中 进入 所以我尝试从供应商文件夹中复制 删除一些包 然后重新 去 直到我让构建工
  • 连接组件

    我有一组数据 是通过将相似的子项目匹配在一起创建的 然后按 类别 对这些相似的项目进行分组 现在 结果类别必须以在每个 group id 内将相关类别分组在一起的方式进行匹配 在下面的示例中 一个匹配是 A gt B gt C gt D g
  • 使用 Windows Phone 7 解析包含数组的 JSON 对象

    好吧 我在这方面遇到了一些困难 我的 JSON 就像 names name bla name bla2 我试图做本教程但是 由于 JSON 不同 它不起作用 我必须在这个方法中放入什么 我不知道创建一个包含我的列表的 包装 类或直接使用 J
  • 仅当文件存在时追加到文件

    我已经看到了几个关于如何附加到文件 如果存在 和创建新文件 如果不存在 的答案 echo hello gt gt file txt 或覆盖文件 如果存在 如果不存在则创建一个文件 echo hello gt file txt 但我如何确保e
  • 预期语句 End If

    我在表单中设置了以下代码 但收到 预期语句 错误 我第一次这样做并认为我的语法正确 我错过了什么 使用嵌套 2 路条件时 每个条件必须由自己的条件结束End If If condition A Th
  • 在define_method中使用局部变量

    我想了解如何define method工作原理以及如何正确使用定义块之外的变量 这是我的代码 class Test def self plugin for i in 1 2 define method test i to sym do p
  • 存储过程获取想要的结果集以提高性能-MYSQL

    我对 mysql 完全陌生 正在努力编写存储过程来获取所需的结果集 正如你所看到的 下面是我的表格 我在用着节点和快车要连接的 APImysql数据库 然后我使用以下命令进行单独查询以获得所需的结果for loop 当我处理数百万条记录时
  • Salesforce对象描述有大数据,如何从Salesforce对象描述中获取有限的数据,例如选项列表值

    我正在寻找获取销售人员对象的字段和选项列表的方法 我可以使用 REAT API 调用来完成此操作 describe在对象名称之后 但有时返回的 JSON 数据非常大 其中有 95 的额外数据是我不想要的 并且带有重复的模式字符串 仅仅为了获