choryo
@choryo (ryo)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

「CUSTOMER COMMUNITY PLUS ライセンス」のユーザをChatterGroupに追加出来るでしょうか?

解決したいこと

非公開で「顧客を許可」のChatterGroupに「CUSTOMER COMMUNITY PLUS ライセンス」のユーザをApexで追加したい

該当するソースコード

//ユーザIDを取得
User u = [select id, Contact.Name from User where Name like 'コミュニティーユーザ%' limit 1];
system.debug(system.LoggingLevel.DEBUG, u);

//Chatter Groupを取得
CollaborationGroup cg = [select id from CollaborationGroup where name = '動作確認'];
system.debug(system.LoggingLevel.DEBUG, cg);
//Chatter Groupは非公開で「顧客を許可」を設定している

//Chatter Memberを作成
CollaborationGroupMember cgm= new CollaborationGroupMember();
cgm.CollaborationGroupId = cg.id;
cgm.CollaborationRole = 'Standard';
cgm.MemberId = u.id;
insert cgm;

発生している問題・エラー

Line: 15, Column: 1
System.DmlException: Insert failed. First exception on row 0; first error: INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, insufficient access rights on cross-reference id: []

質問

ユーザにライセンスが不足しているか、「CUSTOMER COMMUNITY PLUS ライセンス」のユーザはChatterGroupに追加できないかを推測しております。知見を持ち方は教えて頂けますでしょうか?

0

2Answer

@shunkosa さん
回答ありがとうございます!

本件は解決いたしました。解決方法をご共有させてください。

コミュニティーユーザの場合は、CollaborationGroupのNetworkIdは必須みたいです。
有するに該当ChatterGroupはコミュニティーと関連する必要だと思われます。

SELECT Id, Name, NetworkId FROM CollaborationGroup

1Like

このApexを実行しているユーザはシステムコンテキストまたは、Chatterグループの管理権限を持つユーザでしょうか?

0Like

Your answer might help someone💌