Chatter Api访问通过平台触发创建Feed

时间:2018-04-12 06:33:18

标签: salesforce salesforce-lightning salesforce-chatter

我正在尝试使用Chatter API创建一个聊天源(因为我需要在帖子中提及用户)来自A平台事件触发器。 但是我收到一个错误: - “权限不足:没有为此用户类型启用Connect API。”在调试日志

并且调试日志上显示的用户是自动流程,而不是创建发布请求的Authenticated用户。

所以我的问题是我是否需要在触发器内对Chatter API进行身份验证?如果是的我怎么能这样做。

或者我错过任何聊天配置?

触发代码

trigger SampleEventsTrigger on Sample_Events__e (after insert) {
System.debug('Event Log');

for (Sample_Events__e event : Trigger.New) {
    System.debug('Event: ' + event);
    //postFeedForSmartwinnr.PostFeedMethod(event.CreatedById, event.userId__c, event.Notification_message__c); // Call function to Create Chatter
    ConnectApi.FeedItemInput feedItemInput = new ConnectApi.FeedItemInput();
    ConnectApi.MentionSegmentInput mentionSegmentInput = new ConnectApi.MentionSegmentInput();
    ConnectApi.MessageBodyInput messageBodyInput = new ConnectApi.MessageBodyInput();
    ConnectApi.TextSegmentInput textSegmentInput = new ConnectApi.TextSegmentInput();
    System.debug('feedItemInput: ' );
    System.debug(feedItemInput);
    messageBodyInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();

    mentionSegmentInput.id = event.userId__c;
    messageBodyInput.messageSegments.add(mentionSegmentInput);

    textSegmentInput.text = event.Notification_message__c;
    messageBodyInput.messageSegments.add(textSegmentInput);
    System.debug(feedItemInput);
    feedItemInput.body = messageBodyInput;
    feedItemInput.feedElementType = ConnectApi.FeedElementType.FeedItem;
    //feedItemInput.subjectId = '0F9RR0000004CPw';
    System.debug(feedItemInput);
    ConnectApi.FeedElement feedElement = ConnectApi.ChatterFeeds.postFeedElement( Network.getNetworkId(), feedItemInput); // Error is on this line 
    System.debug('feedElement');
    System.debug(feedElement);
    }
}

提前致谢...

1 个答案:

答案 0 :(得分:0)

据我所知,当时在场的用户是自动流程,他可以使用类发布Feed,但无法访问聊天REST API