mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-25 16:41:35 +00:00
Some checks failed
Build and test GAM / build (false, build, 1, Build Intel Ubuntu Jammy, ubuntu-22.04) (push) Has been cancelled
Build and test GAM / build (false, build, 10, Build x86_64 macOS 15, macos-15-intel) (push) Has been cancelled
Build and test GAM / build (false, build, 11, Build Arm MacOS 26, macos-26) (push) Has been cancelled
Build and test GAM / build (false, build, 12, Build Intel Windows, windows-2025) (push) Has been cancelled
Build and test GAM / build (false, build, 13, Build Arm Windows, windows-11-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 2, Build Intel Ubuntu Noble, ubuntu-24.04) (push) Has been cancelled
Build and test GAM / build (false, build, 3, Build Arm Ubuntu Noble, ubuntu-24.04-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 4, Build Arm Ubuntu Jammy, ubuntu-22.04-arm) (push) Has been cancelled
Build and test GAM / build (false, build, 5, Build Intel StaticX Legacy, ubuntu-22.04, yes) (push) Has been cancelled
Build and test GAM / build (false, build, 6, Build Arm StaticX Legacy, ubuntu-22.04-arm, yes) (push) Has been cancelled
Build and test GAM / build (false, build, 7, Build Intel MacOS, macos-13) (push) Has been cancelled
Build and test GAM / build (false, build, 8, Build Arm MacOS 14, macos-14) (push) Has been cancelled
Build and test GAM / build (false, build, 9, Build Arm MacOS 15, macos-15) (push) Has been cancelled
Build and test GAM / build (false, test, 14, Test Python 3.10, ubuntu-24.04, 3.10) (push) Has been cancelled
Build and test GAM / build (false, test, 15, Test Python 3.11, ubuntu-24.04, 3.11) (push) Has been cancelled
Build and test GAM / build (false, test, 16, Test Python 3.12, ubuntu-24.04, 3.12) (push) Has been cancelled
Build and test GAM / build (false, test, 17, Test Python 3.14-dev, ubuntu-24.04, 3.14-dev) (push) Has been cancelled
Build and test GAM / build (true, test, 18, Test Python 3.14-dev freethread, ubuntu-24.04, 3.14-dev) (push) Has been cancelled
Build and test GAM / merge (push) Has been cancelled
Build and test GAM / publish (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Check for Google Root CA Updates / check-certs (push) Has been cancelled
Push wiki / pushwiki (push) Has been cancelled
130 lines
4.7 KiB
Markdown
130 lines
4.7 KiB
Markdown
# Command data from Google Docs, Sheets and Cloud Storage
|
|
- [Introduction](#introduction)
|
|
- [Definitions](#definitions)
|
|
- [Read data from a Google Doc or Drive File](#read-data-from-a-google-doc-or-drive-file)
|
|
- [Plain Text](#plain-text)
|
|
- [HTML](#html)
|
|
- [Read data from a Google Sheet](#read-data-from-a-google-sheet)
|
|
- [Limited Service Account Access](#limited-service-account-access)
|
|
- [Read data from a Google Cloud Storage File](#read-data-from-a-google-cloud-storage-file)
|
|
- [Plain Text](#plain-text)
|
|
- [CSV](#csv)
|
|
- [HTML](#html)
|
|
|
|
## Introduction
|
|
Google Sheets can be used in `gam csv ...` commands.
|
|
* [Bulk Processing](Bulk-Processing)
|
|
|
|
Google Docs and Sheets can be used to specify collections of data.
|
|
* [Collections of ChromeOS Devices](Collections-of-ChromeOS-Devices)
|
|
* [Collections of Items](Collections-of-Items)
|
|
* [Collections of Users](Collections-of-Users)
|
|
|
|
Google Docs and Drive Files can be used to specify notes, messages and signatures.
|
|
* [Domain Shared Contacts - Global Address List](Contacts-GAL)
|
|
* [Send Email](Send-Email)
|
|
* [Users](Users)
|
|
* [Users - Contacts](Users-Contacts)
|
|
* [Users - Gmail - Messages/Threads](Users-Gmail-Messages-Threads)
|
|
* [Users - Gmail - SendAs/Signature/Vacation](Users-Gmail-Send-As-Signature-Vacation)
|
|
|
|
## Definitions
|
|
* [Drive Items](Drive-Items)
|
|
|
|
## Read data from a Google Doc or Drive File
|
|
```
|
|
<UserGoogleDoc> ::=
|
|
<EmailAddress> <DriveFileIDEntity>|<DriveFileNameEntity>|(<SharedDriveEntity> <SharedDriveFileNameEntity>)
|
|
```
|
|
* `<EmailAddress>` - The email address of a user with at least read access to the document
|
|
|
|
Use one of the following to specify the file:
|
|
* `<DriveFileIDEntity>` - The ID of the file on a Drive or Shared Drive
|
|
* `<DriveFileNameEntity>` - The name of the file
|
|
* `<SharedDriveEntity> <SharedDriveFileNameEntity>` - A Shared Drive and the name of the file on that drive
|
|
|
|
## Plain Text
|
|
Interpret a Google Doc as plain text or read a Drive file with MIME type text/plain.
|
|
```
|
|
gdoc <UserGoogleDoc>
|
|
```
|
|
|
|
## HTML
|
|
Read a Drive file with MIME type text/html.
|
|
```
|
|
ghtml <UserGoogleDoc>
|
|
```
|
|
|
|
## Read data from a Google Sheet
|
|
```
|
|
<SheetEntity> ::= <String>|id:<Number>
|
|
|
|
<UserGoogleSheet> ::=
|
|
<EmailAddress> <DriveFileIDEntity>|<DriveFileNameEntity>|(<SharedDriveEntity> <SharedDriveFileNameEntity>) <SheetEntity>
|
|
```
|
|
* `<EmailAddress>` - The email address of a user with at least read access to the document
|
|
|
|
Use one of the following to specify the file:
|
|
* `<DriveFileIDEntity>` - The ID of the file on a Drive or Shared Drive
|
|
* `<DriveFileNameEntity>` - The name of the file
|
|
* `<SharedDriveEntity> <SharedDriveFileNameEntity>` - A Shared Drive and the name of the file on that drive
|
|
|
|
If a file name is specified, it must resolve to a single file ID; otherwise an error is generated.
|
|
|
|
If a Shared Drive name is specified, it must resolve to a single Shared Drive ID; otherwise an error is generated.
|
|
|
|
Select a sheet/tab from the Google Sheet with its ID or name; it is verified to exist within the Google Sheet.
|
|
|
|
Example:
|
|
|
|
```
|
|
gam csv gsheet you@exmaple.com <DriveFileIDEntity> "Sheet 1" gam create user firstname "~FirstName" lastname "~lastName" email "~email"
|
|
```
|
|
|
|
## Limited Service Account Access
|
|
If you want to disable a user's service account access to Drive and Sheets but still allow reading command data from Google Docs and Sheets,
|
|
issue the following commands. The admin specified in `gam oauth create` can read command data from Docs and Sheets to which it has access.
|
|
```
|
|
gam config commanddata_clientaccess true save
|
|
gam oauth create
|
|
Enable the following and proceed to authorization.
|
|
|
|
[*] 42) Drive API - commanddata_clientaccess
|
|
[*] 54) Sheets API - commanddata_clientaccess
|
|
```
|
|
In these options, the `<EmailAddress> is not used, but for clarity you may want to specify the
|
|
email address of the admin specified in `gam oauth create`.
|
|
```
|
|
gdoc <EmailAddress> <DriveFileIDEntity>|<DriveFileNameEntity>|(<SharedDriveEntity> <SharedDriveFileNameEntity>)
|
|
gsheet <EmailAddress> <DriveFileIDEntity>|<DriveFileNameEntity>|(<SharedDriveEntity> <SharedDriveFileNameEntity>) <SheetEntity>
|
|
```
|
|
|
|
## Read data from a Google Cloud Storage File
|
|
```
|
|
<StorageBucketName> ::= <String>
|
|
<StorageObjectName> ::= <String>
|
|
<StorageBucketObjectName> ::=
|
|
https://storage.cloud.google.com/<StorageBucketName>/<StorageObjectName>|
|
|
https://storage.googleapis.com/<StorageBucketName>/<StorageObjectName>|
|
|
gs://<StorageBucketName>/<StorageObjectName>|
|
|
<StorageBucketName>/<StorageObjectName>
|
|
```
|
|
|
|
## CSV
|
|
Read a Google Cloud Storage file with contentType text/csv.
|
|
```
|
|
gcscsv <StorageBucketObjectName>
|
|
```
|
|
|
|
## Plain Text
|
|
Read a Google Cloud Storage file with contentType text/plain.
|
|
```
|
|
gcsdoc <StorageBucketObjectName>
|
|
```
|
|
|
|
## HTML
|
|
Read a Google Cloud Storage file with contentType text/html.
|
|
```
|
|
gcshtml <StorageBucketObjectName>
|
|
```
|