Chatter Api Access для создания канала через триггер платформы

Я пытаюсь создать канал Chatter, используя Chatter API(как мне нужно упомянуть пользователя в посте) из триггера событий платформы. Но я получаю сообщение об ошибке:- "Недостаточно прав: API-интерфейс Connect не включен для этого типа пользователя". в журналах отладки

пользователь, который отображается в журнале отладки, - это Automated Process, а не пользователь, прошедший проверку подлинности, создающий пост-запрос.

Итак, мой вопрос: мне нужно аутентифицировать в 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 ответ

Решение

Насколько мне известно, пользователь, присутствующий на тот момент, - это Automated Process, который может публиковать фиды с использованием классов, но не имеет доступа к API REST chatter.

Другие вопросы по тегам