1{ 2 "auth": { 3 "oauth2": { 4 "scopes": { 5 "https://www.googleapis.com/auth/plus.me": { 6 "description": "Associate you with your personal info on Google" 7 }, 8 "https://www.googleapis.com/auth/userinfo.email": { 9 "description": "View your email address" 10 }, 11 "https://www.googleapis.com/auth/userinfo.profile": { 12 "description": "See your personal info, including any personal info you've made publicly available" 13 } 14 } 15 } 16 }, 17 "basePath": "/", 18 "baseUrl": "https://www.googleapis.com/", 19 "batchPath": "batch/oauth2/v2", 20 "description": "Obtains end-user authorization grants for use with other Google APIs.", 21 "discoveryVersion": "v1", 22 "documentationLink": "https://developers.google.com/accounts/docs/OAuth2", 23 "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/W-JRJm0Bex0eEJ4XYBVnRKTeRQ8\"", 24 "icons": { 25 "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", 26 "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" 27 }, 28 "id": "oauth2:v2", 29 "kind": "discovery#restDescription", 30 "methods": { 31 "getCertForOpenIdConnect": { 32 "httpMethod": "GET", 33 "id": "oauth2.getCertForOpenIdConnect", 34 "path": "oauth2/v2/certs", 35 "response": { 36 "$ref": "Jwk" 37 } 38 }, 39 "tokeninfo": { 40 "httpMethod": "POST", 41 "id": "oauth2.tokeninfo", 42 "parameters": { 43 "access_token": { 44 "location": "query", 45 "type": "string" 46 }, 47 "id_token": { 48 "location": "query", 49 "type": "string" 50 }, 51 "token_handle": { 52 "location": "query", 53 "type": "string" 54 } 55 }, 56 "path": "oauth2/v2/tokeninfo", 57 "response": { 58 "$ref": "Tokeninfo" 59 } 60 } 61 }, 62 "name": "oauth2", 63 "ownerDomain": "google.com", 64 "ownerName": "Google", 65 "parameters": { 66 "alt": { 67 "default": "json", 68 "description": "Data format for the response.", 69 "enum": [ 70 "json" 71 ], 72 "enumDescriptions": [ 73 "Responses with Content-Type of application/json" 74 ], 75 "location": "query", 76 "type": "string" 77 }, 78 "fields": { 79 "description": "Selector specifying which fields to include in a partial response.", 80 "location": "query", 81 "type": "string" 82 }, 83 "key": { 84 "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.", 85 "location": "query", 86 "type": "string" 87 }, 88 "oauth_token": { 89 "description": "OAuth 2.0 token for the current user.", 90 "location": "query", 91 "type": "string" 92 }, 93 "prettyPrint": { 94 "default": "true", 95 "description": "Returns response with indentations and line breaks.", 96 "location": "query", 97 "type": "boolean" 98 }, 99 "quotaUser": { 100 "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", 101 "location": "query", 102 "type": "string" 103 }, 104 "userIp": { 105 "description": "Deprecated. Please use quotaUser instead.", 106 "location": "query", 107 "type": "string" 108 } 109 }, 110 "protocol": "rest", 111 "resources": { 112 "userinfo": { 113 "methods": { 114 "get": { 115 "httpMethod": "GET", 116 "id": "oauth2.userinfo.get", 117 "path": "oauth2/v2/userinfo", 118 "response": { 119 "$ref": "Userinfoplus" 120 }, 121 "scopes": [ 122 "https://www.googleapis.com/auth/plus.me", 123 "https://www.googleapis.com/auth/userinfo.email", 124 "https://www.googleapis.com/auth/userinfo.profile" 125 ] 126 } 127 }, 128 "resources": { 129 "v2": { 130 "resources": { 131 "me": { 132 "methods": { 133 "get": { 134 "httpMethod": "GET", 135 "id": "oauth2.userinfo.v2.me.get", 136 "path": "userinfo/v2/me", 137 "response": { 138 "$ref": "Userinfoplus" 139 }, 140 "scopes": [ 141 "https://www.googleapis.com/auth/plus.me", 142 "https://www.googleapis.com/auth/userinfo.email", 143 "https://www.googleapis.com/auth/userinfo.profile" 144 ] 145 } 146 } 147 } 148 } 149 } 150 } 151 } 152 }, 153 "revision": "20190313", 154 "rootUrl": "https://www.googleapis.com/", 155 "schemas": { 156 "Jwk": { 157 "id": "Jwk", 158 "properties": { 159 "keys": { 160 "items": { 161 "properties": { 162 "alg": { 163 "default": "RS256", 164 "type": "string" 165 }, 166 "e": { 167 "type": "string" 168 }, 169 "kid": { 170 "type": "string" 171 }, 172 "kty": { 173 "default": "RSA", 174 "type": "string" 175 }, 176 "n": { 177 "type": "string" 178 }, 179 "use": { 180 "default": "sig", 181 "type": "string" 182 } 183 }, 184 "type": "object" 185 }, 186 "type": "array" 187 } 188 }, 189 "type": "object" 190 }, 191 "Tokeninfo": { 192 "id": "Tokeninfo", 193 "properties": { 194 "access_type": { 195 "description": "The access type granted with this token. It can be offline or online.", 196 "type": "string" 197 }, 198 "audience": { 199 "description": "Who is the intended audience for this token. In general the same as issued_to.", 200 "type": "string" 201 }, 202 "email": { 203 "description": "The email address of the user. Present only if the email scope is present in the request.", 204 "type": "string" 205 }, 206 "expires_in": { 207 "description": "The expiry time of the token, as number of seconds left until expiry.", 208 "format": "int32", 209 "type": "integer" 210 }, 211 "issued_to": { 212 "description": "To whom was the token issued to. In general the same as audience.", 213 "type": "string" 214 }, 215 "scope": { 216 "description": "The space separated list of scopes granted to this token.", 217 "type": "string" 218 }, 219 "token_handle": { 220 "description": "The token handle associated with this token.", 221 "type": "string" 222 }, 223 "user_id": { 224 "description": "The obfuscated user id.", 225 "type": "string" 226 }, 227 "verified_email": { 228 "description": "Boolean flag which is true if the email address is verified. Present only if the email scope is present in the request.", 229 "type": "boolean" 230 } 231 }, 232 "type": "object" 233 }, 234 "Userinfoplus": { 235 "id": "Userinfoplus", 236 "properties": { 237 "email": { 238 "description": "The user's email address.", 239 "type": "string" 240 }, 241 "family_name": { 242 "description": "The user's last name.", 243 "type": "string" 244 }, 245 "gender": { 246 "description": "The user's gender.", 247 "type": "string" 248 }, 249 "given_name": { 250 "description": "The user's first name.", 251 "type": "string" 252 }, 253 "hd": { 254 "description": "The hosted domain e.g. example.com if the user is Google apps user.", 255 "type": "string" 256 }, 257 "id": { 258 "description": "The obfuscated ID of the user.", 259 "type": "string" 260 }, 261 "link": { 262 "description": "URL of the profile page.", 263 "type": "string" 264 }, 265 "locale": { 266 "description": "The user's preferred locale.", 267 "type": "string" 268 }, 269 "name": { 270 "description": "The user's full name.", 271 "type": "string" 272 }, 273 "picture": { 274 "description": "URL of the user's picture image.", 275 "type": "string" 276 }, 277 "verified_email": { 278 "default": "true", 279 "description": "Boolean flag which is true if the email address is verified. Always verified because we only return the user's primary email address.", 280 "type": "boolean" 281 } 282 }, 283 "type": "object" 284 } 285 }, 286 "servicePath": "", 287 "title": "Google OAuth2 API", 288 "version": "v2" 289}