Salesforce 平台集成用户无法访问“外部凭据”

问题描述 投票:0回答:1

我正在发布自定义平台事件“OrderSummaryPrescribedEvent__e”,并且 Apex 触发器“OrderSummaryPrescribedTrigger”侦听正在排队 Apex 作业“FindPharmacy”。 FindPharmacy 是使用“命名凭证”的标注外部服务。

我收到的错误是“System.CalloutException:我们无法访问凭据。您可能没有所需的权限,或者外部凭据“Motivated”可能不存在。”

调试日志显示处理队列的用户是“平台集成用户”,其用户 ID 在“设置”->“用户”下不存在。这看起来像是缺少“权限集”的典型案例,但我不确定如何解决此问题,因为用户下不存在该用户。

非常感谢任何帮助。

我不太确定为什么要在这里尝试解决方案。

salesforce
1个回答
0
投票

通常处理平台事件的触发器作为专用的“自动用户”特殊帐户运行。如果您看到其他人正在运行触发器的代码(或者如果您想将其更改为作为具有所需权限集、托管包许可证等的系统管理员之一运行),您可以覆盖它。它是通过特殊的元数据 api 文件完成的,您无法在 UI 中执行此操作。

阅读https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_trigger_config.htm

也许可以从尝试(工具 API)查询开始

PlatformEventSubscriberConfig
。检查您现在拥有的内容(如果它不在您的项目/git 中),如果需要,请部署覆盖。据我记得,您必须停用然后再次启动触发器/订阅才能选择新的配置。

© www.soinside.com 2019 - 2024. All rights reserved.