UNPKG

googleapis

Version:
201 lines (200 loc) 6.53 kB
/** * Copyright 2015 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { AxiosPromise } from 'axios'; import { GoogleApis } from '../..'; import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api'; /** * Google OAuth2 API * * Obtains end-user authorization grants for use with other Google APIs. * * @example * const google = require('googleapis'); * const oauth2 = google.oauth2('v2'); * * @namespace oauth2 * @type {Function} * @version v2 * @variation v2 * @param {object=} options Options for Oauth2 */ export declare class Oauth2 { _options: GlobalOptions; google: GoogleApis; root: this; userinfo: Resource$Userinfo; constructor(options: GlobalOptions, google: GoogleApis); getRoot(): this; /** * oauth2.getCertForOpenIdConnect * @alias oauth2.getCertForOpenIdConnect * @memberOf! oauth2(v2) * * @param {object=} params Parameters for request * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ getCertForOpenIdConnect(params?: any, options?: MethodOptions): AxiosPromise<Schema$Jwk>; getCertForOpenIdConnect(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Jwk>, callback?: BodyResponseCallback<Schema$Jwk>): void; /** * oauth2.tokeninfo * @alias oauth2.tokeninfo * @memberOf! oauth2(v2) * * @param {object=} params Parameters for request * @param {string=} params.access_token * @param {string=} params.id_token * @param {string=} params.token_handle * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ tokeninfo(params?: any, options?: MethodOptions): AxiosPromise<Schema$Tokeninfo>; tokeninfo(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Tokeninfo>, callback?: BodyResponseCallback<Schema$Tokeninfo>): void; } export interface Schema$Jwk { keys: any[]; } export interface Schema$Tokeninfo { /** * The access type granted with this token. It can be offline or online. */ access_type: string; /** * Who is the intended audience for this token. In general the same as * issued_to. */ audience: string; /** * The email address of the user. Present only if the email scope is present * in the request. */ email: string; /** * The expiry time of the token, as number of seconds left until expiry. */ expires_in: number; /** * To whom was the token issued to. In general the same as audience. */ issued_to: string; /** * The space separated list of scopes granted to this token. */ scope: string; /** * The token handle associated with this token. */ token_handle: string; /** * The obfuscated user id. */ user_id: string; /** * Boolean flag which is true if the email address is verified. Present only * if the email scope is present in the request. */ verified_email: boolean; } export interface Schema$Userinfoplus { /** * The user&#39;s email address. */ email: string; /** * The user&#39;s last name. */ family_name: string; /** * The user&#39;s gender. */ gender: string; /** * The user&#39;s first name. */ given_name: string; /** * The hosted domain e.g. example.com if the user is Google apps user. */ hd: string; /** * The obfuscated ID of the user. */ id: string; /** * URL of the profile page. */ link: string; /** * The user&#39;s preferred locale. */ locale: string; /** * The user&#39;s full name. */ name: string; /** * URL of the user&#39;s picture image. */ picture: string; /** * Boolean flag which is true if the email address is verified. Always * verified because we only return the user&#39;s primary email address. */ verified_email: boolean; } export declare class Resource$Userinfo { root: Oauth2; v2: Resource$Userinfo$V2; constructor(root: Oauth2); getRoot(): Oauth2; /** * oauth2.userinfo.get * @alias oauth2.userinfo.get * @memberOf! () * * @param {object=} params Parameters for request * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$Userinfoplus>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Userinfoplus>, callback?: BodyResponseCallback<Schema$Userinfoplus>): void; } export declare class Resource$Userinfo$V2 { root: Oauth2; me: Resource$Userinfo$V2$Me; constructor(root: Oauth2); getRoot(): Oauth2; } export declare class Resource$Userinfo$V2$Me { root: Oauth2; constructor(root: Oauth2); getRoot(): Oauth2; /** * oauth2.userinfo.v2.me.get * @alias oauth2.userinfo.v2.me.get * @memberOf! () * * @param {object=} params Parameters for request * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$Userinfoplus>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Userinfoplus>, callback?: BodyResponseCallback<Schema$Userinfoplus>): void; }