Skip to content

Latest commit

 

History

History
82 lines (52 loc) · 2.41 KB

README.md

File metadata and controls

82 lines (52 loc) · 2.41 KB

Google-Group-Admin-API

A Python library for managing Google Cloud Platform (GCP) groups through the Google Workspace Directory API. This tool allows easy and efficient group management within Google Workspace, including adding members to groups, retrieving group information, listing all groups in a domain, and creating new groups.

Features

  • Add Members to Groups: Easily add users to specific Google Workspace groups with designated roles.
  • Get Group Information: Retrieve detailed information about specific groups.
  • List Groups: List all groups within a specified Google Workspace domain.
  • Create Groups: Facilitate the creation of new groups within the Google Workspace.

Prerequisites

  • Python 3.6 or higher
  • Google Workspace domain with admin access
  • Google Cloud Platform project with the Admin SDK API enabled
  • Service account with domain-wide delegation and the necessary permissions

Installation

Clone the repository to your local machine:

git clone https://github.com/martialo12/Google-Group-Admin-API
cd Google-Group-Admin-API

Install the require dependencies

pip install -r requirements.txt

Usage

First, set up your Google Workspace configuration:

from google_workspace_group_manager import GoogleWorkspaceConfig, GoogleWorkspaceGroupManager

scopes = ['https://www.googleapis.com/auth/admin.directory.group']
config = GoogleWorkspaceConfig('path_to_service_account.json', scopes)
group_manager = GoogleWorkspaceGroupManager(config)

Examples

Adding a member to a group:

group_manager.add_member_to_group('[email protected]', '[email protected]', 'MEMBER')

Retrieving information about a group:

group_info = group_manager.get_group_info('[email protected]')

Listing all groups in a domain:

groups = group_manager.list_google_workspace_groups('example.com')

Creating a new group:

new_group = group_manager.create_group('[email protected]', 'New Group', 'Description')

Contributing

Contributions are welcome! Please read our Contributing Guide for more information.

## License This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements