forked from TrueCloudLab/restic
407 lines
9.9 KiB
JSON
407 lines
9.9 KiB
JSON
{
|
|
"kind": "discovery#restDescription",
|
|
"etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/PozAB5R3hMeaeI5NL5FrPjwfUdY\"",
|
|
"discoveryVersion": "v1",
|
|
"id": "oauth2:v1",
|
|
"name": "oauth2",
|
|
"version": "v1",
|
|
"revision": "20170807",
|
|
"title": "Google OAuth2 API",
|
|
"description": "Obtains end-user authorization grants for use with other Google APIs.",
|
|
"ownerDomain": "google.com",
|
|
"ownerName": "Google",
|
|
"icons": {
|
|
"x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
|
|
"x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
|
|
},
|
|
"documentationLink": "https://developers.google.com/accounts/docs/OAuth2",
|
|
"protocol": "rest",
|
|
"baseUrl": "https://www.googleapis.com/",
|
|
"basePath": "/",
|
|
"rootUrl": "https://www.googleapis.com/",
|
|
"servicePath": "",
|
|
"batchPath": "batch",
|
|
"parameters": {
|
|
"alt": {
|
|
"type": "string",
|
|
"description": "Data format for the response.",
|
|
"default": "json",
|
|
"enum": [
|
|
"json"
|
|
],
|
|
"enumDescriptions": [
|
|
"Responses with Content-Type of application/json"
|
|
],
|
|
"location": "query"
|
|
},
|
|
"fields": {
|
|
"type": "string",
|
|
"description": "Selector specifying which fields to include in a partial response.",
|
|
"location": "query"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
|
|
"location": "query"
|
|
},
|
|
"oauth_token": {
|
|
"type": "string",
|
|
"description": "OAuth 2.0 token for the current user.",
|
|
"location": "query"
|
|
},
|
|
"prettyPrint": {
|
|
"type": "boolean",
|
|
"description": "Returns response with indentations and line breaks.",
|
|
"default": "true",
|
|
"location": "query"
|
|
},
|
|
"quotaUser": {
|
|
"type": "string",
|
|
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.",
|
|
"location": "query"
|
|
},
|
|
"userIp": {
|
|
"type": "string",
|
|
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
|
|
"location": "query"
|
|
}
|
|
},
|
|
"auth": {
|
|
"oauth2": {
|
|
"scopes": {
|
|
"https://www.googleapis.com/auth/plus.login": {
|
|
"description": "Know the list of people in your circles, your age range, and language"
|
|
},
|
|
"https://www.googleapis.com/auth/plus.me": {
|
|
"description": "Know who you are on Google"
|
|
},
|
|
"https://www.googleapis.com/auth/userinfo.email": {
|
|
"description": "View your email address"
|
|
},
|
|
"https://www.googleapis.com/auth/userinfo.profile": {
|
|
"description": "View your basic profile info"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"schemas": {
|
|
"Jwk": {
|
|
"id": "Jwk",
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"alg": {
|
|
"type": "string",
|
|
"default": "RS256"
|
|
},
|
|
"e": {
|
|
"type": "string"
|
|
},
|
|
"kid": {
|
|
"type": "string"
|
|
},
|
|
"kty": {
|
|
"type": "string",
|
|
"default": "RSA"
|
|
},
|
|
"n": {
|
|
"type": "string"
|
|
},
|
|
"use": {
|
|
"type": "string",
|
|
"default": "sig"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Raw": {
|
|
"id": "Raw",
|
|
"type": "object",
|
|
"properties": {
|
|
"keyvalues": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"algorithm": {
|
|
"type": "string",
|
|
"default": "RSA"
|
|
},
|
|
"exponent": {
|
|
"type": "string"
|
|
},
|
|
"keyid": {
|
|
"type": "string"
|
|
},
|
|
"modulus": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Tokeninfo": {
|
|
"id": "Tokeninfo",
|
|
"type": "object",
|
|
"properties": {
|
|
"access_type": {
|
|
"type": "string",
|
|
"description": "The access type granted with this token. It can be offline or online."
|
|
},
|
|
"audience": {
|
|
"type": "string",
|
|
"description": "Who is the intended audience for this token. In general the same as issued_to."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the user. Present only if the email scope is present in the request."
|
|
},
|
|
"email_verified": {
|
|
"type": "boolean",
|
|
"description": "Boolean flag which is true if the email address is verified. Present only if the email scope is present in the request."
|
|
},
|
|
"expires_in": {
|
|
"type": "integer",
|
|
"description": "The expiry time of the token, as number of seconds left until expiry.",
|
|
"format": "int32"
|
|
},
|
|
"issued_at": {
|
|
"type": "integer",
|
|
"description": "The issue time of the token, as number of seconds.",
|
|
"format": "int32"
|
|
},
|
|
"issued_to": {
|
|
"type": "string",
|
|
"description": "To whom was the token issued to. In general the same as audience."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "Who issued the token."
|
|
},
|
|
"nonce": {
|
|
"type": "string",
|
|
"description": "Nonce of the id token."
|
|
},
|
|
"scope": {
|
|
"type": "string",
|
|
"description": "The space separated list of scopes granted to this token."
|
|
},
|
|
"user_id": {
|
|
"type": "string",
|
|
"description": "The obfuscated user id."
|
|
},
|
|
"verified_email": {
|
|
"type": "boolean",
|
|
"description": "Boolean flag which is true if the email address is verified. Present only if the email scope is present in the request."
|
|
}
|
|
}
|
|
},
|
|
"Userinfoplus": {
|
|
"id": "Userinfoplus",
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The user's email address."
|
|
},
|
|
"family_name": {
|
|
"type": "string",
|
|
"description": "The user's last name."
|
|
},
|
|
"gender": {
|
|
"type": "string",
|
|
"description": "The user's gender."
|
|
},
|
|
"given_name": {
|
|
"type": "string",
|
|
"description": "The user's first name."
|
|
},
|
|
"hd": {
|
|
"type": "string",
|
|
"description": "The hosted domain e.g. example.com if the user is Google apps user."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The obfuscated ID of the user."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "URL of the profile page."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The user's preferred locale."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The user's full name."
|
|
},
|
|
"picture": {
|
|
"type": "string",
|
|
"description": "URL of the user's picture image."
|
|
},
|
|
"verified_email": {
|
|
"type": "boolean",
|
|
"description": "Boolean flag which is true if the email address is verified. Always verified because we only return the user's primary email address.",
|
|
"default": "true"
|
|
}
|
|
}
|
|
},
|
|
"X509": {
|
|
"id": "X509",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"methods": {
|
|
"getCertForOpenIdConnect": {
|
|
"id": "oauth2.getCertForOpenIdConnect",
|
|
"path": "oauth2/v1/certs",
|
|
"httpMethod": "GET",
|
|
"response": {
|
|
"$ref": "X509"
|
|
}
|
|
},
|
|
"getCertForOpenIdConnectRaw": {
|
|
"id": "oauth2.getCertForOpenIdConnectRaw",
|
|
"path": "oauth2/v1/raw_public_keys",
|
|
"httpMethod": "GET",
|
|
"response": {
|
|
"$ref": "Raw"
|
|
}
|
|
},
|
|
"getRobotJwk": {
|
|
"id": "oauth2.getRobotJwk",
|
|
"path": "service_accounts/v1/jwk/{robotEmail}",
|
|
"httpMethod": "GET",
|
|
"parameters": {
|
|
"robotEmail": {
|
|
"type": "string",
|
|
"description": "The email of robot account.",
|
|
"required": true,
|
|
"location": "path"
|
|
}
|
|
},
|
|
"parameterOrder": [
|
|
"robotEmail"
|
|
],
|
|
"response": {
|
|
"$ref": "Jwk"
|
|
}
|
|
},
|
|
"getRobotMetadataRaw": {
|
|
"id": "oauth2.getRobotMetadataRaw",
|
|
"path": "service_accounts/v1/metadata/raw/{robotEmail}",
|
|
"httpMethod": "GET",
|
|
"parameters": {
|
|
"robotEmail": {
|
|
"type": "string",
|
|
"description": "The email of robot account.",
|
|
"required": true,
|
|
"location": "path"
|
|
}
|
|
},
|
|
"parameterOrder": [
|
|
"robotEmail"
|
|
],
|
|
"response": {
|
|
"$ref": "Raw"
|
|
}
|
|
},
|
|
"getRobotMetadataX509": {
|
|
"id": "oauth2.getRobotMetadataX509",
|
|
"path": "service_accounts/v1/metadata/x509/{robotEmail}",
|
|
"httpMethod": "GET",
|
|
"parameters": {
|
|
"robotEmail": {
|
|
"type": "string",
|
|
"description": "The email of robot account.",
|
|
"required": true,
|
|
"location": "path"
|
|
}
|
|
},
|
|
"parameterOrder": [
|
|
"robotEmail"
|
|
],
|
|
"response": {
|
|
"$ref": "X509"
|
|
}
|
|
},
|
|
"tokeninfo": {
|
|
"id": "oauth2.tokeninfo",
|
|
"path": "oauth2/v1/tokeninfo",
|
|
"httpMethod": "POST",
|
|
"description": "Get token info",
|
|
"parameters": {
|
|
"access_token": {
|
|
"type": "string",
|
|
"description": "The oauth2 access token",
|
|
"location": "query"
|
|
},
|
|
"id_token": {
|
|
"type": "string",
|
|
"description": "The ID token",
|
|
"location": "query"
|
|
}
|
|
},
|
|
"response": {
|
|
"$ref": "Tokeninfo"
|
|
}
|
|
}
|
|
},
|
|
"resources": {
|
|
"userinfo": {
|
|
"methods": {
|
|
"get": {
|
|
"id": "oauth2.userinfo.get",
|
|
"path": "oauth2/v1/userinfo",
|
|
"httpMethod": "GET",
|
|
"description": "Get user info",
|
|
"response": {
|
|
"$ref": "Userinfoplus"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/plus.login",
|
|
"https://www.googleapis.com/auth/plus.me",
|
|
"https://www.googleapis.com/auth/userinfo.email",
|
|
"https://www.googleapis.com/auth/userinfo.profile"
|
|
]
|
|
}
|
|
},
|
|
"resources": {
|
|
"v2": {
|
|
"resources": {
|
|
"me": {
|
|
"methods": {
|
|
"get": {
|
|
"id": "oauth2.userinfo.v2.me.get",
|
|
"path": "userinfo/v2/me",
|
|
"httpMethod": "GET",
|
|
"description": "Get user info",
|
|
"response": {
|
|
"$ref": "Userinfoplus"
|
|
},
|
|
"scopes": [
|
|
"https://www.googleapis.com/auth/plus.login",
|
|
"https://www.googleapis.com/auth/plus.me",
|
|
"https://www.googleapis.com/auth/userinfo.email",
|
|
"https://www.googleapis.com/auth/userinfo.profile"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|