Salesforce Tooling API - 访问权限不足
我正在尝试通过Tooling API创建触发器。这是在Salesforce中执行的,并在同一个Salesforce组织上执行。这是在开发组织中完成的,正在运行的用户是管理员。Salesforce Tooling API - 访问权限不足
当我创建MetadataContainer
它按预期工作。当我创建的ApexTriggerMember
我出现以下错误:
INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY
下面是过程的一些调试沿途:
The JSON that is sent to create the MetadataContainer
{"Name":"Container 2013-03-08 17:28:06"}
的URL会被发送到
https://na11.salesforce.com/services/data/v27.0/tooling/sobjects/MetadataContainer/
回应:
{"id":"1dcG0000000PAwZIAW","success":true,"errors":[]}
发送到创建ApexTriggerMember
{"MetadataContainerId":"1dcG0000000PAwZIAW","Body":"trigger TestTrg1 on Account (after insert, after update, before insert, before update) {\n\n}"}
的URL它被发送到JSON:
响应:
[{"fields":[],"message":"insufficient access rights on cross-reference id","errorCode":"INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY"}]
任何帮助是极大的赞赏。
我只是尝试了相同的事情,但通过SOAP版本的Tooling API。
如果我将ApexTriggerMember.ContentEntityId指定为现有的触发器ID(键前缀01q),它工作正常。当然,这是更新现有的触发器,而不是创建新的触发器。
如果我没有设置ContentEntityId,我会得到与您完全相同的错误。 “交叉引用ID访问权限不足”(StatusCode.INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY)
的documentation说(我的重点):
ContentEntityId
Type: reference
Properties: Create, Filter, Group, Sort
Description:
A reference to an Apex trigger. There can be only one ContentEntityId per ApexTriggerMember, otherwise, an error is reported. This field is required.
等等领域是必需的,但我们没有指派的id它尚未...
注意,我问过在专用的Salesforce StackExchange类似的问题 - How do I use the Tooling API to create a new Apex Trigger?
非常感谢你。通过测试,我相信工具API不适用于创建。如果这是错的,我希望有人能提供更多的细节。在这一点上,我们将把所有注意力都转移到元数据API上来解决问题。再次感谢您的帮助。 – alockrem 2013-03-19 13:13:05