Salesforceの公開グループに所属するユーザの取得

イシュー

  • Salesforceの公開グループに所属するユーザを取得する

参考

仕様把握

  • Group は、PublicGroup(公開グループ)のこと
  • Group の Typeは、「Regular」「Role」「RoleAndSubordinates」がある
** userGroup
1: groupId=00G10000001d3NvEAI;relatedId=null;type=Organization
2: groupId=00G10000001TUnHEAW;relatedId=null;type=Regular
3: groupId=00G10000001TUoYEAW;relatedId=null;type=Regular
4: groupId=00G10000001TUodEAG;relatedId=null;type=Regular
5: groupId=00G10000001TURAEA4;relatedId=00E10000000xAQrEAM;type=Role
6: groupId=00G10000001TURBEA4;relatedId=00E10000000xAQrEAM;type=RoleAndSubordinates
7: groupId=00G10000001TUosEAG;relatedId=null;type=Regular

→1、5はつかわれていない

** GroupMember
a(2ug3g): userGroupSet=00G10000001TUnHEAW;group=00G10000001TUoYEAW
b(6ug2g): userGroupSet=00G10000001TURBEA4;group=00G10000001TUnHEAW
c(u  7g): userGroupSet=00510000002cnZ0AAI;group=00G10000001TUosEAG



↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Group:グループ2(4: 00G10000001TUod、ユーザ:Regular)
Group(Regular):4: groupId=00G10000001TUodEAG;relatedId=null;type=Regular
GroupMember なし(どうやってユーザーIdを取得するか?)


TestGroup1:テストグループ(2: 00G10000001TUnH、ロール&下位ロール:TestRole : Regular, type=RoleAndSubordinates)
Group(Regular): 2: groupId=00G10000001TUnHEAW;relatedId=null;type=Regular
GroupMember:    b(6ug2g): groupId=00G10000001TUnHEAW;userGroupSet=00G10000001TURBEA4 (Other Group);
Group(Other):   6:groupId=00G10000001TURBEA4;relatedId=00E10000000xAQrEAM;type=RoleAndSubordinates
→ グループから「ロール&下位ロール」とロールID:00E10000000xAQrEAM を導く


TestGroup2:テストグループ2
3: 00G10000001TUoY : Regular
テストグループ
Group(Regular): 3: groupId=00G10000001TUoYEAW;relatedId=null;type=Regular
GroupMember:    a(2ug3g): groupId=00G10000001TUoYEAW; userGroupSet=00G10000001TUnHEAW(Other Group);
Group(Regular): 2: groupId=00G10000001TUnHEAW;relatedId=null;type=Regular
→ グループから「グループ」とグループID:00G10000001TUnHEAW を導く

UerGroup: 
Group(Regular): 7: groupId=00G10000001TUosEAG;relatedId=null;type=Regular
Groupmember:    c(u  7g): userGroupSet=00510000002cnZ0AAI;group=00G10000001TUosEAG
→ グループからユーザとユーザID(00510000002cnZ0AAI) を導く

実装