shoogle(1)
shoogle - command-line access to the Google API
Description
SHOOGLE
NAME
shoogle - command-line access to the Google API
SYNOPSIS
shoogle -h
shoogle show [--debug-request-level <n>] [--debug-response-level <n>] [<API-PATH>]
shoogle execute [-c <CLIENT-SECRET-FILE>] [--credentials-file CREDENTIALS-FILE | --credentials-profile CREDENTIALS-PROFILE>] [-f <path>] <API-PATH> <JSON-FILE>
DESCRIPTION
shoogle is a CLI tool which provides access to Google API functions. It can be used to discover interfaces and methods, and to execute them.
Parameters
-h, –help
Print command-line help information.
|
show |
List information about Google API Services, Resources, and methods. |
execute
Execute a Google API method.
JSON-FILE
JSON-formatted file containing API request information. See JSON-FILE for details.
API_PATH
The path specification for a Google API method. See API-PATH for details.
‘Show’ Command Options
–debug-request-level <n>
A non-negative integer indicating the recursion level for information output for method request documentation.
–debug-response-level <n>
A non-negative integer indicating the recursion level for information output for method response documentation.
‘Execute’ Command Options
-c <CLIENT-SECRET-FILE>, –client-secret-file <CLIENT-SECRET-FILE>
A path to the client secret JSON file, to be used to start OAuth2 authentication. See CLIENT-SECRET-FILE for details.
-f <path>, –media-file <path>
File to use for media-related operations.
–credentials-file <CREDENTIALS-FILE>
Select a specific set of established OAuth2 credentials. See CREDENTIALS-FILE for details.
–credentials-profile <CREDENTIALS-PROFILE>
Select a profile for the OAuth2 credentials. See CREDENTIALS-PROFILE for details.
JSON-FILE
The ‘shoogle show’ command can show the request information needed for an API method. This file contains the required input parameters for a method to be executed, in that format.
A value of ‘-’ indicates that the JSON information will be read from STDIN.
API-PATH
The “API Path” for an API method is of the form “SERVICE:VERSION.RESOURCE.METHOD”.
For the ‘show’ command, this parameter is optional, and may be truncated. For instance, if it is omitted, a list of Services is shown. If the method name is left off, a list of methods is shown. For a full path, detail in the method inputs and outputs is shown.
For the ‘execute’ command, this defines the method to be called.
CLIENT-SECRET-FILE
The Client Secret JSON file contains user information for authorization. It can be downloaded from the Google Console OAuth 2.0 Client ID page. The client IDs are listed on the Credentials page (https://console.cloud.google.com/apis/credentials).
CREDENTIALS-FILE
The CREDENTIALS-FILE contains the authorization tokens generated from a successful OAuth 2.0 executed transaction. It allows authentication to succeed on subsequent calls without interaction by the user.
By default, this file is stored in ~/.shoogle/credentials/<profile>/. This option overrides that path.
Typically, this option is not required.
CREDENTIALS-PROFILE
shoogle aggregates CREDENTIALS-FILEs by profile. This option allows the profile name to be specified. The default is “default”.
Typically, this option is not required.
EXAMPLES
List services:
shoogle show
List resources for a service:
shoogle show urlshortener:v1.
List methods for a resource:
shoogle show urlshortener:v1.url
List parameters and results for a method:
shoogle show urlshortener:v1.url.list
Call a method:
echo '{}' | shoogle execute -c <secrets.json> urlshortener:v1.url.list -
jq is a command-line JSON builder/parser. This example shows how to upload a video from a JSON template and extract the ID from the response:
$ cat
upload-video.template.json
{
"part": "snippet",
"body": {
"snippet": {
"title": $title,
"description": $description
}
}
}
$ jq -n -f
upload-video.template.json --arg title "Chess"
--arg description "Norway Chess" |
shoogle execute -c your_client_id.json
youtube:v3.videos.insert - -f chess.mp4 |
jq -r '.id'
wUArz2nPGqA
SEE ALSO
jq(1)