Skip to content

Instantly share code, notes, and snippets.

@ofarras
Forked from harperbrett/sfpublicgroups.py
Created March 26, 2022 17:12
Show Gist options
  • Select an option

  • Save ofarras/fc911a4a2b23e19860b9b6af089c055c to your computer and use it in GitHub Desktop.

Select an option

Save ofarras/fc911a4a2b23e19860b9b6af089c055c to your computer and use it in GitHub Desktop.

Revisions

  1. @harperbrett harperbrett created this gist Mar 12, 2022.
    33 changes: 33 additions & 0 deletions sfpublicgroups.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    from simple_salesforce import Salesforce
    import pandas as pd
    sf = Salesforce(username="yourSFusername",password="youSFpassword", security_token="yourSFsecuritytoken")

    Group_Members = sf.query_all("Select GroupId,UserOrGroupId from GroupMember")
    Active_Users = sf.query_all("Select Username,Name,Id from User where isActive = True")
    Groups = sf.query_all("Select Id,Name,Type from Group")

    Group_Members_DF = pd.DataFrame(Group_Members['records'])
    Users_DF = pd.DataFrame(Active_Users['records'])
    Users_DF = Users_DF.drop(columns=['attributes'])
    Groups_DF = pd.DataFrame(Groups['records'])
    Groups_DF = Groups_DF.drop(columns=['attributes'])

    def get_user_name(user_id):
    for index, name in Users_DF.iterrows():
    if user_id == name['Id']:
    print("\t"+name['Name'])

    def get_members(group_id):
    result = Group_Members_DF.loc[Group_Members_DF['GroupId'] == group_id]
    for index, member in result.iterrows():
    get_user_name(member["UserOrGroupId"])

    def get_groups_with_users():
    for index, group in Groups_DF.iterrows():
    group_id = group['Id']
    group_name = group['Name']
    print(str(group_name)+":")
    get_members(group_id)


    get_groups_with_users()