{ "kind": "discovery#restDescription", "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/VY5CxwtmcPmH-ruiSL2amW9TN0Q\"", "discoveryVersion": "v1", "id": "oauth2:v2", "name": "oauth2", "version": "v2", "revision": "20160330", "title": "Google OAuth2 API", "description": "Obtains end-user authorization grants for use with other Google APIs.", "ownerDomain": "google.com", "ownerName": "Google", "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "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" } } } } } }, "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." }, "expires_in": { "type": "integer", "description": "The expiry time of the token, as number of seconds left until expiry.", "format": "int32" }, "issued_to": { "type": "string", "description": "To whom was the token issued to. In general the same as audience." }, "scope": { "type": "string", "description": "The space separated list of scopes granted to this token." }, "token_handle": { "type": "string", "description": "The token handle associated with 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" } } } }, "methods": { "getCertForOpenIdConnect": { "id": "oauth2.getCertForOpenIdConnect", "path": "oauth2/v2/certs", "httpMethod": "GET", "response": { "$ref": "Jwk" } }, "tokeninfo": { "id": "oauth2.tokeninfo", "path": "oauth2/v2/tokeninfo", "httpMethod": "POST", "parameters": { "access_token": { "type": "string", "location": "query" }, "id_token": { "type": "string", "location": "query" }, "token_handle": { "type": "string", "location": "query" } }, "response": { "$ref": "Tokeninfo" } } }, "resources": { "userinfo": { "methods": { "get": { "id": "oauth2.userinfo.get", "path": "oauth2/v2/userinfo", "httpMethod": "GET", "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", "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" ] } } } } } } } } }