首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Salesforce Tooling API -访问权限不足

Salesforce Tooling API -访问权限不足
EN

Stack Overflow用户
提问于 2013-03-09 09:34:59
回答 1查看 3K关注 0票数 2

我正在尝试通过Tooling API创建触发器。这是在Salesforce中执行的,并在相同的Salesforce org上执行。这是在一个开发组织中完成的,并且运行的用户是管理员。

当我创建MetadataContainer时,它会按预期工作。当我创建ApexTriggerMember时,出现以下错误:

代码语言:javascript
复制
INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY

以下是该过程的一些调试过程:

代码语言:javascript
复制
The JSON that is sent to create the MetadataContainer
{"Name":"Container 2013-03-08 17:28:06"}

它被发送到的URL

代码语言:javascript
复制
https://na11.salesforce.com/services/data/v27.0/tooling/sobjects/MetadataContainer/

回应:

代码语言:javascript
复制
{"id":"1dcG0000000PAwZIAW","success":true,"errors":[]}

发送来创建ApexTriggerMember的JSON

代码语言:javascript
复制
{"MetadataContainerId":"1dcG0000000PAwZIAW","Body":"trigger TestTrg1 on Account (after insert, after update, before insert, before update) {\n\n}"}

它被发送到的URL:

代码语言:javascript
复制
https://na11.salesforce.com/services/data/v27.0/tooling/sobjects/ApexTriggerMember/

回应:

代码语言:javascript
复制
[{"fields":[],"message":"insufficient access rights on cross-reference id","errorCode":"INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY"}]

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-15 09:43:41

我只是通过Tooling API的SOAP版本进行了同样的尝试。

如果我将ApexTriggerMember.ContentEntityId指定为现有的触发器Id (键前缀01q),它可以很好地工作。当然,这是更新现有的触发器,而不是创建新的触发器。

如果我没有设置ContentEntityId,我会得到和你完全一样的错误。“对交叉引用id的访问权限不足”(StatusCode.INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY)

documentation说(我强调的):

ContentEntityId

类型:引用

属性:创建、筛选、分组、排序

描述:

对Apex触发器的引用。每个ApexTriggerMember只能有一个ContentEntityId,否则将报告错误。此字段为必填字段。

所以这个字段是必填的,但是我们还没有分配给它的Id ...

请注意,我在专门的Salesforce StackExchange - How do I use the Tooling API to create a new Apex Trigger?上也问过类似的问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15306170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档