# Users - Tokens - [API documentation](#api-documentation) - [Definitions](#definitions) - [Delete a user's token](#delete-a-users-token) - [Display individual user's tokens](#display-individual-users-tokens) - [Display individual user's token counts](#display-individual-users-token-counts) - [Display aggregated user's tokens](#display-aggregated-users-tokens) ## API documentation * [Directory API - Tokens](https://developers.google.com/admin-sdk/directory/reference/rest/v1/tokens) ## Definitions * [``](Collections-of-Users) ``` ::= ``` ## Delete a user's token ``` gam delete|del token|tokens clientid ``` ## Display individual user's tokens ``` gam print tokens|token [todrive *] [clientid ] [orderby clientid|id|appname|displaytext] [delimiter ] gam show tokens|token|3lo|oauth [clientid ] [orderby clientid|id|appname|displaytext] gam print tokens|token [todrive *] [clientid ] [orderby clientid|id|appname|displaytext] [delimiter ] [] gam show tokens|token [clientid ] [orderby clientid|id|appname|displaytext] [delimiter ] [] ``` By default, all client tokens for a user are displayed, use `clientid ` to display a specific client token. For each user, select the order of token presentation: * `orderby clientid|id` - Display each user's tokens ordered by Client ID * `orderby appname|displaytext` - Display each user's tokens ordered by App Name For `print tokens`: * `delimiter ` - Separate `scopes` entries with ``; the default value is `csv_output_field_delimiter` from `gam.cfg`. ### Example This example shows which domain users have the Google Apps Sync for Microsoft Outlook app allowed for their account ``` gam all users print token clientid 1095133494869.apps.googleusercontent.com ``` ## Display individual user's token counts ``` gam print tokens|token [todrive *] [clientid ] usertokencounts gam show tokens|token|3lo|oauth [clientid ] usertokencounts gam print tokens|token [todrive *] [clientid ] usertokencounts [] gam show tokens|token [clientid ] usertokencounts [] ``` ### Example This example shows which domain users have any access tokens. ``` gam config csv_output_row_filter "tokenCount:count>0" all users print tokens usertokencounts ``` ## Display aggregated user's tokens ``` gam print tokens|token [todrive *] [clientid ] [aggregateusersby clientid|id|appname|displaytext] [delimiter ] gam show tokens|token|3lo|oauth [clientid ] [aggregateusersby clientid|id|appname|displaytext] gam print tokens|token [todrive *] [clientid ] [aggregateusersby clientid|id|appname|displaytext] [delimiter ] [] ``` By default, all client tokens for aggregated users are displayed, use `clientid ` to display a specific client token. For aggregated users, select the order of token presentation: * `aggregateusersby clientid|id` - Display aggregated users tokens ordered by Client ID * `aggregateusersby appname|displaytext` - Display aggregated users tokens ordered by App Name For `print tokens`: * `delimiter ` - Separate `scopes` entries with ``; the default value is `csv_output_field_delimiter` from `gam.cfg`. ### Generate a list of all Google Apps being used by each of your users. Serial processing ``` gam config csv_output_header_filter "^user$,clientId,displayText" redirect csv UserApps.csv [todrive *] all users print tokens ``` * `config csv_output_header_filter "^user$,clientId,displayText"` - Select relevant columns * `redirect csv UserApps.csv` - Specify CSV file * `[todrive *]` - Optional, upload CSV to Google Drive * `all users print tokens` - Get the apps Parallel processing ``` gam config auto_batch_min 1 num_threads 10 csv_output_header_filter "^user$,clientId,displayText" redirect csv UserApps.csv multiprocess [todrive *] all users print tokens ``` * `config auto_batch_min 1 num_threads 10` - Turn on parallel processing * `csv_output_header_filter "^user$,clientId,displayText"` - Select relevant columns * `redirect csv UserApps.csv multiprocess` - Specify CSV file with parallel processing * `[todrive *]` - Optional, upload CSV to Google Drive * `all users print tokens` - Get the apps ### Generate a list of all Google Apps being used by any user. Serial processing must be used ``` gam config csv_output_header_filter "^users$,clientId,displayText" redirect csv UserApps.csv [todrive *] all users print tokens aggregateusersby displaytext ``` * `config csv_output_header_filter "^users$,clientId,displayText"` - Select relevant columns * `redirect csv UserApps.csv` - Specify CSV file * `[todrive *]` - Optional, upload CSV to Google Drive * `all users print tokens` - Get the apps * `aggregateusersby displaytext` - Aggregate users ### Display how many users are using Google Chrome Serial processing must be used ``` gam config csv_output_header_filter "^users$,clientId,displayText" redirect csv UserApps.csv [todrive *] all users print tokens aggregateusersby displaytext clientid 77185425430.apps.googleusercontent.com ``` * `config csv_output_header_filter "^users$,clientId,displayText"` - Select relevant columns * `redirect csv UserApps.csv` - Specify CSV file * `[todrive *]` - Optional, upload CSV to Google Drive * `all users print tokens` - Get the apps * `aggregateusersby displaytext` - Aggregate users