0

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

并且调试日志上显示的用户是自动进程,而不是创建发布请求的经过身份验证的用户。

所以我的问题是我需要在触发器内对 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);
    }
}

提前致谢...

4

1 回答 1

0

据我所知,当时在场的用户是自动进程,他能够使用类发布提要,但无权访问 chatter REST API

于 2018-04-19T13:27:18.880 回答