Apexを使って、コミュニティのロールに対して共有レコードを割り当てる時の備忘録。

カスタマーコミュニティ(Customer Community Plusのみ)とパートナーコミュニティでは取引先に対してロールが割り当てられているので、以下のフローでロールに対する共有レコードを割り当てることが可能です。

  1. 共有対象(コミュニティユーザ)のAccountIDをキーにUserRoleを取得
  2. UserRoleのIDをキーにGroupを取得
  3. GroupのIDを使って共有レコードを作成

具体的には以下のようなコードになります。

取引先1つ当たりのロールを1つ以上に指定した場合は、UserRoleが複数取得されてしまうので、PortalRoleに”Executive”、”Manager”、”Worker”を指定して絞り込めば、それぞれ”エグゼクティブ”、”マネージャ”、”ユーザ”なロールを取得することが出来ます。

RoleAndSubordinatesはロール&下位ロールを指します。

参考URL