|
1 |
| -# NIM-System-REST-Google-Workspace |
| 1 | +# Google Workspace |
| 2 | +<img src="https://github.com/Tools4ever-NIM/NIM-System-REST-Google-Workspace/assets/24281600/c2d03c50-1e52-4770-816c-418cbe7f67e3" width="256px" /> |
2 | 3 |
|
3 |
| -This is a native rest connector. This repo is for additional tools specific to Google Workspace |
4 | 4 |
|
5 |
| -## Table of Contents |
6 |
| -* [Requirements](#requirements) |
7 |
| -* [Authorization Scopes](#authorization-scopes) |
8 |
| - * [Recommended Scope Sets](#recommended-scope-sets) |
9 |
| -* [Available Provisioning Actions](#available-provisioning-actions) |
10 |
| -* [Custom Schemas](#custom-schemas) |
11 | 5 |
|
12 |
| -# Requirements |
13 |
| -* Google Account with Super Admin Role |
14 |
| -* Service Account created via Cloud Console |
| 6 | +## Data Tables |
| 7 | +- chromeosdevices |
| 8 | +- classroom_courses |
| 9 | +- classroom_course_aliases |
| 10 | +- classroom_course_students |
| 11 | +- classroom_course_teachers |
| 12 | +- classroom_invitations |
| 13 | +- classroom_userProfiles_guardianInvitations |
| 14 | +- classroom_userProfiles_guardians |
| 15 | +- datatransfer_transfers |
| 16 | +- drive_drives |
| 17 | +- groups |
| 18 | +- groups_aliases |
| 19 | +- groups_settings |
| 20 | +- licenses |
| 21 | +- license_assignments |
| 22 | +- members |
| 23 | +- mobiledevices |
| 24 | +- orgunits |
| 25 | +- privileges |
| 26 | +- roleAssignments |
| 27 | +- roles |
| 28 | +- users |
| 29 | +- users_aliases |
| 30 | +- users_asps |
| 31 | +- users_gmail_settings_autoforwarding |
| 32 | +- users_gmail_settings_delegates |
| 33 | +- users_gmail_settings_forwardingAddresses |
| 34 | +- users_gmail_settings_imap |
| 35 | +- users_gmail_settings_language |
| 36 | +- users_gmail_settings_pop |
| 37 | +- users_gmail_settings_sendas |
| 38 | +- users_gmail_settings_vacation |
| 39 | +- users_tokens |
| 40 | +- users_verificationCodes |
15 | 41 |
|
16 |
| -## Authorization Scopes |
17 |
| -|Table |Scopes | Cloud Console | |
18 |
| -|------------------------------------------|----------------------------------------------------------------|------------------------------------------------------------------| |
19 |
| -|chromeosdevices |https://www.googleapis.com/auth/admin.directory.device.chromeos |gcloud services enable admin.googleapis.com | |
20 |
| -|classroom_courses |https://www.googleapis.com/auth/classroom.courses |gcloud services enable classroom.googleapis.com | |
21 |
| -|classroom_course_aliases |https://www.googleapis.com/auth/classroom.courses |gcloud services enable classroom.googleapis.com | |
22 |
| -|classroom_course_students |https://www.googleapis.com/auth/classroom.rosters |gcloud services enable classroom.googleapis.com | |
23 |
| -|classroom_course_teachers |https://www.googleapis.com/auth/classroom.rosters |gcloud services enable classroom.googleapis.com | |
24 |
| -|classroom_invitations |https://www.googleapis.com/auth/classroom.rosters |gcloud services enable classroom.googleapis.com | |
25 |
| -|classroom_userProfiles_guardianInvitations|https://www.googleapis.com/auth/classroom.guardianlinks.students|gcloud services enable classroom.googleapis.com | |
26 |
| -|classroom_userProfiles_guardians |https://www.googleapis.com/auth/classroom.guardianlinks.students|gcloud services enable classroom.googleapis.com | |
27 |
| -|datatransfer_transfers |https://www.googleapis.com/auth/admin.datatransfer | | |
28 |
| -|drive_drives |https://www.googleapis.com/auth/drive |gcloud services enable drive.googleapis.com | |
29 |
| -|groups |https://www.googleapis.com/auth/admin.directory.group |gcloud services enable admin.googleapis.com | |
30 |
| -|groups_aliases |https://www.googleapis.com/auth/admin.directory.group |gcloud services enable admin.googleapis.com | |
31 |
| -|groups_settings |https://www.googleapis.com/auth/apps.groups.settings |gcloud services enable groupssettings.googleapis.com | |
32 |
| -|licenses | | | |
33 |
| -|license_assignments |https://www.googleapis.com/auth/apps.licensing |gcloud services enable licensing.googleapis.com | |
34 |
| -|members |https://www.googleapis.com/auth/admin.directory.group |gcloud services enable admin.googleapis.com | |
35 |
| -|mobiledevices |https://www.googleapis.com/auth/admin.directory.device.mobile |gcloud services enable admin.googleapis.com | |
36 |
| -|orgunits |https://www.googleapis.com/auth/admin.directory.orgunit |gcloud services enable admin.googleapis.com | |
37 |
| -|privileges |https://www.googleapis.com/auth/admin.directory.rolemanagement |gcloud services enable admin.googleapis.com | |
38 |
| -|roleAssignments |https://www.googleapis.com/auth/admin.directory.rolemanagement |gcloud services enable admin.googleapis.com | |
39 |
| -|roles |https://www.googleapis.com/auth/admin.directory.rolemanagement |gcloud services enable admin.googleapis.com | |
40 |
| -|users |https://www.googleapis.com/auth/admin.directory.user |gcloud services enable admin.googleapis.com | |
41 |
| -|users_aliases |https://www.googleapis.com/auth/admin.directory.user |gcloud services enable admin.googleapis.com | |
42 |
| -|users_asps |https://www.googleapis.com/auth/admin.directory.user.security |gcloud services enable admin.googleapis.com | |
43 |
| -|users_gmail_settings_autoforwarding |https://www.googleapis.com/auth/gmail.settings.basic,https://www.googleapis.com/auth/gmail.settings.sharing |gcloud services enable gmail.googleapis.com | |
44 |
| -|users_gmail_settings_delegates |https://www.googleapis.com/auth/gmail.settings.basic,https://www.googleapis.com/auth/gmail.settings.sharing |gcloud services enable gmail.googleapis.com | |
45 |
| -|users_gmail_settings_forwardingAddresses |https://www.googleapis.com/auth/gmail.settings.basic,https://www.googleapis.com/auth/gmail.settings.sharing |gcloud services enable gmail.googleapis.com | |
46 |
| -|users_gmail_settings_imap |https://www.googleapis.com/auth/gmail.settings.basic |gcloud services enable gmail.googleapis.com | |
47 |
| -|users_gmail_settings_language |https://www.googleapis.com/auth/gmail.settings.basic |gcloud services enable gmail.googleapis.com | |
48 |
| -|users_gmail_settings_pop |https://www.googleapis.com/auth/gmail.settings.basic |gcloud services enable gmail.googleapis.com | |
49 |
| -|users_gmail_settings_sendas |https://www.googleapis.com/auth/gmail.settings.basic |gcloud services enable gmail.googleapis.com | |
50 |
| -|users_gmail_settings_vacation |https://www.googleapis.com/auth/gmail.settings.basic |gcloud services enable gmail.googleapis.com | |
51 |
| -|users_tokens |https://www.googleapis.com/auth/admin.directory.user.security |gcloud services enable admin.googleapis.com | |
52 |
| -|users_verificationCodes |https://www.googleapis.com/auth/admin.directory.user.security |gcloud services enable admin.googleapis.com | |
53 | 42 |
|
54 |
| -### Recommended Scope Sets |
55 |
| -* Everything |
56 |
| - * ```https://www.googleapis.com/auth/admin.directory.device.chromeos,https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.orgunit,https://www.googleapis.com/auth/apps.licensing,https://www.googleapis.com/auth/admin.directory.user.security,https://www.googleapis.com/auth/classroom.courses,https://www.googleapis.com/auth/classroom.rosters,https://www.googleapis.com/auth/classroom.guardianlinks.students,https://www.googleapis.com/auth/gmail.settings.basic,https://www.googleapis.com/auth/gmail.settings.sharing,https://www.googleapis.com/auth/admin.directory.device.mobile,https://www.googleapis.com/auth/apps.groups.settings,https://www.googleapis.com/auth/admin.datatransfer,https://www.googleapis.com/auth/drive``` |
57 |
| - * ```gcloud services enable admin.googleapis.com``` |
58 |
| - * ```gcloud services enable groupssettings.googleapis.com``` |
59 |
| - * ```gcloud services enable licensing.googleapis.com``` |
60 |
| - * ```gcloud services enable drive.googleapis.com``` |
61 |
| - * ```gcloud services enable gmail.googleapis.com``` |
62 |
| - * ```gcloud services enable classroom.googleapis.com``` |
63 |
| -* User Provisioning |
64 |
| - * ```https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.orgunit``` |
65 |
| - * Cloud Console Apps |
66 |
| - * ```gcloud services enable admin.googleapis.com``` |
67 |
| -* User Provisioning + Security |
68 |
| - * ```https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.orgunit,https://www.googleapis.com/auth/admin.directory.user.security``` |
69 |
| - * Cloud Console Apps |
70 |
| - * ```gcloud services enable admin.googleapis.com``` |
71 |
| -* User Provisioning + Licensing |
72 |
| - * ```https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.orgunit,https://www.googleapis.com/auth/apps.licensing``` |
73 |
| - * Cloud Console Apps |
74 |
| - * ```gcloud services enable admin.googleapis.com``` |
75 |
| - * ```gcloud services enable licensing.googleapis.com``` |
76 |
| -* User Provisioning + Licensing + Security |
77 |
| - * ```https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.orgunit,https://www.googleapis.com/auth/apps.licensing,https://www.googleapis.com/auth/admin.directory.user.security``` |
78 |
| - * Cloud Console Apps |
79 |
| - * ```gcloud services enable admin.googleapis.com``` |
80 |
| - * ```gcloud services enable licensing.googleapis.com``` |
81 |
| -* Classroom |
82 |
| - * ```https://www.googleapis.com/auth/classroom.courses,https://www.googleapis.com/auth/classroom.rosters,https://www.googleapis.com/auth/classroom.guardianlinks.students``` |
83 |
| - * Cloud Console Apps |
84 |
| - * ```gcloud services enable classroom.googleapis.com``` |
85 |
| - |
86 |
| - |
87 |
| -## Available Provisioning Actions |
| 43 | +## Actions |
88 | 44 | * Chrome Devices
|
89 | 45 | * Update Chrome Device
|
90 | 46 | * Classroom
|
@@ -151,78 +107,8 @@ This is a native rest connector. This repo is for additional tools specific to G
|
151 | 107 | * Update
|
152 | 108 |
|
153 | 109 |
|
154 |
| -## Custom Schemas |
155 |
| -### Schema Definition File |
156 |
| -If you need to import custom schema data into NIM you can extend the table schemas by adding a custom json file where the [SYSTEMNAME] is the name of your system within the NIM console. |
157 |
| - |
158 |
| -**File Path & Name** |
159 |
| ->C:\ProgramData\Tools4ever\NIM\config\rest\systems\\[SYSTEMNAME].json |
160 |
| -
|
161 |
| -**File Contents** |
162 |
| -``` |
163 |
| -{ |
164 |
| - "schema": { |
165 |
| - "crud_objects": { |
166 |
| - "users": { |
167 |
| - "resources": { |
168 |
| - "customSchemas": { |
169 |
| - "Tools4ever": { |
170 |
| - "ID":"_:string*", |
171 |
| - "Type":"_:string*", |
172 |
| - "DeleteDate":"_:string*" |
173 |
| - } |
174 |
| - } |
175 |
| - } |
176 |
| - } |
177 |
| - } |
178 |
| - } |
179 |
| -} |
180 |
| -``` |
181 |
| -### Adding T4e Custom Schema Attributes |
182 |
| -Custom schema attributes can be added directly from the Google Admin console or the Developer API console (preferred). |
183 |
| - |
184 |
| -Open the Developer API console and use the below values for the customerId and Request Body values and then press Execute. If prompted, allow access for the application to execute the command. You should see a response payload show up once the command has finished. |
185 |
| - |
186 |
| -_Developer API Console:_ |
187 |
| -> https://developers.google.com/admin-sdk/directory/reference/rest/v1/schemas/insert#try-it |
188 |
| -
|
189 |
| -_Request Parameters:_ |
190 |
| -``` |
191 |
| -customerId = my_customer |
192 |
| -``` |
193 |
| - |
194 |
| -_Request Body:_ |
195 |
| -``` |
196 |
| -{ |
197 |
| - "fields": |
198 |
| - [ |
199 |
| - { |
200 |
| - "fieldName": "ID", |
201 |
| - "fieldType": "STRING", |
202 |
| - "readAccessType": "ADMINS_AND_SELF", |
203 |
| - "multiValued": false, |
204 |
| - "displayName": "ID" |
205 |
| - }, |
206 |
| - { |
207 |
| - "fieldName": "Type", |
208 |
| - "fieldType": "STRING", |
209 |
| - "readAccessType": "ADMINS_AND_SELF", |
210 |
| - "multiValued": false, |
211 |
| - "displayName": "Type" |
212 |
| - }, |
213 |
| - { |
214 |
| - "fieldName": "DeleteDate", |
215 |
| - "fieldType": "STRING", |
216 |
| - "readAccessType": "ADMINS_AND_SELF", |
217 |
| - "multiValued": false, |
218 |
| - "displayName": "DeleteDate" |
219 |
| - } |
220 |
| - ], |
221 |
| - "schemaName": "Tools4ever" |
222 |
| - "displayName": "Tools4ever" |
223 |
| -} |
224 |
| -``` |
225 |
| - |
| 110 | +# NIM Docs |
| 111 | +The official NIM documentation can be found at: https://docs.nimsuite.com |
226 | 112 |
|
227 | 113 | # NIM Docs
|
228 | 114 | The official NIM documentation can be found at: https://docs.nimsuite.com
|
0 commit comments