-
-
Save ofarras/fc911a4a2b23e19860b9b6af089c055c to your computer and use it in GitHub Desktop.
Query Salesforce Public Groups and Their Users with Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment