Skip to content

Commit 4dbba69

Browse files
committed
Add group samples
1 parent 8f0980c commit 4dbba69

File tree

3 files changed

+140
-12
lines changed

3 files changed

+140
-12
lines changed

docs/applications_samples.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ request_adapter = GraphRequestAdapter(auth_provider)
2020
# Get a service client.
2121
client = GraphServiceClient(request_adapter)
2222

23-
# GET ALL APPLICATIONS IN THE TENANT
24-
# Request: GET /applications
25-
23+
# GET ALL APPLICATIONS IN THE TENANT (GET /applications)
2624
async def get_applications():
2725
try:
2826
apps = await client.applications.get()

docs/authentication_samples.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ request_adapter = GraphRequestAdapter(auth_provider)
2626
# Create an API client with the request adapter.
2727
client = GraphServiceClient(request_adapter)
2828

29-
# GET A USER USING THE USER ID
30-
# Request: GET /users/{id}
29+
# GET A USER USING THE USER ID (GET /users/{id})
3130
async def get_user():
3231
try:
3332
user = await client.users_by_id('USER_ID').get()
@@ -62,9 +61,7 @@ request_adapter = GraphRequestAdapter(auth_provider)
6261
# Create an API client with the request adapter.
6362
client = GraphServiceClient(request_adapter)
6463

65-
# GET A USER USING THE USER ID
66-
# Request: GET /users/{id}
67-
64+
# GET A USER USING THE USER ID (GET /users/{id})
6865
async def get_user():
6966
try:
7067
user = await client.users_by_id('USER_ID').get()
@@ -103,8 +100,7 @@ request_adapter = GraphRequestAdapter(auth_provider)
103100
# Create an API client with the request adapter.
104101
client = GraphServiceClient(request_adapter)
105102

106-
# GET A USER USING THE USER ID
107-
# Request: GET /users/{id}
103+
# GET A USER USING THE USER ID (GET /users/{id})
108104
async def get_user():
109105
try:
110106
user = await client.users_by_id('USER_ID').get()
@@ -139,8 +135,7 @@ request_adapter = GraphRequestAdapter(auth_provider)
139135
# Create an API client with the request adapter.
140136
client = GraphServiceClient(request_adapter)
141137

142-
# GET A USER USING THE USER ID
143-
# Request: GET /users/{id}
138+
# GET A USER USING THE USER ID (GET /users/{id})
144139
async def get_user():
145140
try:
146141
user = await client.users_by_id('USER_ID').get()

docs/groups_samples.md

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
```py
2+
import asyncio
3+
4+
## Create the API Client
5+
6+
```py
7+
from azure.identity import ClientSecretCredential
8+
from kiota_abstractions.api_error import APIError
9+
from kiota_authentication_azure.azure_identity_authentication_provider import AzureIdentityAuthenticationProvider
10+
from msgraph import GraphRequestAdapter, GraphServiceClient
11+
12+
# Set the event loop policy for Windows
13+
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
14+
15+
# Create authentication provider object. Used to authenticate request
16+
credential = ClientSecretCredential(
17+
tenant_id='TENANT_ID',
18+
client_id='CLIENT_ID',
19+
client_secret='CLIENT_SECRET'
20+
)
21+
scopes = ['https://graph.microsoft.com/.default']
22+
auth_provider = AzureIdentityAuthenticationProvider(credential, scopes=scopes)
23+
24+
# Initialize a request adapter with the auth provider.
25+
request_adapter = GraphRequestAdapter(auth_provider)
26+
27+
# Create an API client with the request adapter.
28+
client = GraphServiceClient(request_adapter)
29+
```
30+
31+
## 1. LIST ALL GROUPS IN THE TENANT (GET /groups)
32+
```py
33+
async def get_groups():
34+
try:
35+
groups = await client.groups.get()
36+
if groups and groups.value:
37+
for group in groups.value:
38+
print(group.id, group.display_name)
39+
except APIError as e:
40+
print(e.error.message)
41+
asyncio.run(get_groups())
42+
```
43+
44+
## 2. GET A SPECIFIC GROUP (GET /groups/{id})
45+
46+
```py
47+
async def get_group():
48+
try:
49+
group = await client.groups_by_id('GROUP_ID').get()
50+
if group:
51+
print(group.id, group.display_name, group.description, group.group_types,
52+
group.security_enabled)
53+
except APIError as e:
54+
print(e.error.message)
55+
asyncio.run(get_group())
56+
```
57+
58+
## 3. LIST ALL MEMBERS IN A GROUP (GET /groups/{id}/members)
59+
60+
```py
61+
async def get_group_members():
62+
try:
63+
members = await client.groups_by_id('GROUP_ID').members.get()
64+
if members and members.value:
65+
for member in members.value:
66+
user = await client.users_by_id(member.id).get()
67+
if user:
68+
print(user.display_name, user.mail)
69+
except APIError as e:
70+
print(e.error.message)
71+
asyncio.run(get_group_members())
72+
```
73+
74+
## 4. LIST A GROUP TEAM SHAREPOINT SITES (GET /groups/{id}/sites)
75+
76+
```py
77+
async def get_group_sites():
78+
try:
79+
sites = await client.groups_by_id('GROUP_ID').sites.get()
80+
if sites and sites.value:
81+
for site in sites.value:
82+
print(site.id, site.web_url)
83+
except APIError as e:
84+
print(e.error.message)
85+
asyncio.run(get_group_sites())
86+
```
87+
88+
## 5. LIST A GROUP'S TRANSITIVE MEMBERS (GET /groups/{id}/transitiveMembers)
89+
90+
```py
91+
async def get_group_transitive_members():
92+
try:
93+
members = await client.groups_by_id('GROUP_ID').transitive_members.get()
94+
if members and members.value:
95+
for member in members.value:
96+
object = await client.directory_objects_by_id(member.id).get()
97+
if object and object.odata_type == '#microsoft.graph.user':
98+
user = await client.users_by_id(object.id).get()
99+
if user:
100+
print(user.id, user.display_name, user.mail)
101+
except Exception as e:
102+
print(e)
103+
asyncio.run(get_group_transitive_members())
104+
```
105+
106+
## 6. LIST ALL GROUP DRIVES (GET /groups/{id}/drives)
107+
108+
```py
109+
async def get_group_drives():
110+
try:
111+
drives = await client.groups_by_id('1a735b59-61f2-4053-95b6-648637628618').drives.get()
112+
if drives and drives.value:
113+
for drive in drives.value:
114+
print(drive.id, drive.name)
115+
except Exception as e:
116+
print(e)
117+
asyncio.run(get_group_drives())
118+
```
119+
120+
## 7. GET A GROUP DRIVE (GET /groups/{id}/drives/{id})
121+
122+
```py
123+
async def get_group_drive():
124+
try:
125+
drive = await client.groups_by_id(
126+
'GROUP_ID'
127+
).drives_by_id(
128+
'DRIVE_ID'
129+
).get()
130+
if drive:
131+
print(drive.id, drive.drive_type, drive.name, drive.web_url, drive.items)
132+
except APIError as e:
133+
print(e.error.message)
134+
asyncio.run(get_group_drive())
135+
```

0 commit comments

Comments
 (0)