如何通过API检索Salesforce页面布局字段属性?

时间:2013-01-30 15:36:03

标签: api salesforce page-layout

上下文

  • 以.NET编码的Web界面(Grantee Portal for Nonprofits申请拨款)从Salesforce页面布局中提取信息。
  • 我们用于通过API将Web界面与Salesforce连接的Salesforce用户具有“查看全部和编辑所有权利”

问题:

就像现在一样,如果在Salesforce的页面布局中将字段定义为只读,则它仍可在网页上编辑(我们使用的Salesforce用户必须具有'查看全部并编辑所有'权限)

我们想要实现的目标:

  • 如果在Salesforce页面布局上将字段定义为只读
  • 那么相同的字段应该是Web界面页面上的只读字段

问题:

为了实现上述目标,我想我需要通过API获取页面布局的字段属性。关于如何做的任何想法?

谢谢! 泉。

1 个答案:

答案 0 :(得分:2)

您需要Metadata API(一组web服务,可以让您添加新对象,字段,选项列表值,甚至可以创建类和运行单元测试)。

以下是API指南:http://www.salesforce.com/us/developer/docs/api_meta/index.htm

根据您修改布局的频率,您可能会决定“搞砸它,我只会使用Eclipse IDE”。在这种情况下,您将下载所有页面布局(它们是XML文件),将C#应用程序指向它们并让魔术发生。

稍微高级的是使用迁移工具(基于Ant / Java的应用程序,可以编写脚本以定期下载相同的东西)。

Super advanced将使用此API指南在C#中编写它。这不是火箭科学(这里是specification for Page Layout object而这里是Java sample code for the operation that retrieves the metadata ...对不起,没有C#)。实际上你可能会更好地看一下这个例子:http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_describelayout.htm

看到你可能想要在任何地方缓存此信息(我无法想象你的用户进入你的页面,不得不等待webservice标注完成,然后让他的UI呈现) - 选择你的毒药。

或者分享团队中的工作(1人开始使用Eclipse下载的文件,其他人试图找出C#代码以便按需检索它们。)