Connect in Apex 特性:Action Links、Feed 能力与 Experience Cloud
Connect in Apex特性完整指南:Action Links四种类型(Api同步/ApiAsync异步/Download文件/Ui网页)及其创建流程(模板→ActionLinkGroupDefinition→postFeedElement/最多10组)、认证与安全(https/相对URL自动认证/API详情加密/模板绑定变量加密/expirationDate/excludeUserId/userId互斥)、上下文变量({!actionLinkId}/{!userId}等6个)、视频聊天启动用例(模板绑定变量+上下文变量)、Feed能力模型(capabilities属性/不检查类型检查能力/FeedItem四元素布局Actor+Header+Timestamp+Body/Bundle布局fieldName+oldValue+newValue)、postFeedElement三种签名(subjectId=me/用户/组/记录→不同parent类型)、完整20种FeedType枚举(getFeedElementsFromFeed各重载)、Experience Cloud站点(communityId参数internal/null/ID/URL格式差异)和访客用户可用ConnectApi方法(ChatterFeeds/Commerce/ManagedContent/Topics等20+类)。
本课程共有 3 个章节
同学们,咱们这个主题聊的是在 Apex 里怎么用一些特定的类和方法,来处理常见的 Connect 功能。 Connect 说白了,就是 Salesforce 里各种社交和协作的能力,比如 Chatter 消息、操作按钮这些。 那最核心的工具是什么呢?就是 ,ConnectApi, 这个类。 它专门给咱们提供编程入口,让你能在代码里访问 Chatter 的动态(也就是提要)、处理动作链接,还能操作 Experience Cloud 站点上的数据。换句话说,只要你需要在 Apex 里读写这些社交模块的内容,ConnectApi 类就可以搞定。 如果你以后想查更详细的用法,比如某个具体方法支持什么参数,很简单,直接去翻 ,ConnectApi 的官方参考文档,就行,那里头每一个类的细节都讲得明明白白。 好了,接下来我们就一起看看,这些功能具体怎么通过代码来实现吧。
同学们,咱们今天来聊聊动作链接。 你可以把它想象成 Chatter 提要里出现的一个按钮,这个按钮可不只是好看,点一下就能直接把你带到一个网页、触发一个文件下载,甚至可以调用 Salesforce 内部或者外部系统的 API。 动作链接包含两个核心部分:一个 URL 和一个 HTTP 方法,还可以挂上请求体和一些认证用的请求头,比如 OAuth 令牌。这样一来,你就能轻松地把 Salesforce 和第三方服务无缝集成到用户的日常操作里,大大提升工作效率,让创新落地更快。 从开发角度来说,实现这个功能通常有三个步骤。 第一步,创建一个动作链接模板,也就是定义好按钮的图标、文字、背后的链接和行为参数。 第二步,定义一个动作链接组,把一组相关的按钮打包在一起,比如“审批”、“查看报告”、“下订单”这几个动作凑成一个组。 第三步,把这个组跟具体的提要元素一起发布出去。这样,用户在 Chatter 里看到这条记录或帖子时,旁边就会出现这些能直接操作的按钮。 在 Apex 编程中,我们经常用 ConnectApi 命名空间下的类来完成这些操作,比如用 ActionLinkTemplate 和 ActionLinkGroup 来定义模板和组,再通过相关方法把它们绑定到提要上。这样一来,你就能用代码来灵活控制交互,让用户少点几次鼠标,多干点实事。 好,关于动作链接的基础概念咱们就说到这儿,后面我还会带你看看具体的代码示例。
同学们,今天我们来看一下 Chatter Feed,也就是“饲料”这个概念。你可以把 Feed 想象成一个不断刷新的信息流容器,里面装着各种各样的饲料元素。这些元素具体是什么呢?在 Apex 里,它们有个共同的抽象父类叫 `ConnectApi.FeedElement`。它下面有两个主要的孩子:一个是 `FeedProject`,就是咱们常说的帖子;另一个是 `GenericFeedElement`,用来表示一些特殊的东西,比如捆绑包或者系统给出的建议。 很多 ConnectApi 方法默认是在单个 Experience Cloud 网站(以前叫 Community)的范围内工作的。所以如果你想针对特定的网站操作,记得要传入 `communityId` 参数,这样方法就知道在哪个站点上下文里干活了。 另外要注意,如果一个网站允许未验证的外部访问,也就是访客用户能进来,那么这些访客其实也能调用一部分受限的 ConnectApi 方法。开发的时候要留意好权限,别让访客做了不该做的事。 最后提一下 DPP 段的验证。当你要创建或更新一个数据保护和处理相关的段时,系统会对输入执行 SQL 验证,确保你传入的规则在数据库层面是可靠的。简单说,就是帮你提前检查输入有没有问题。 好了,关于 Feed 元素和这部分 API 的特点就讲到这里。大家可以结合这些点去实际试试看。