googleapis
Version:
Google APIs Client Library for Node.js
201 lines (200 loc) • 6.53 kB
TypeScript
/**
* 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's email address.
*/
email: string;
/**
* The user's last name.
*/
family_name: string;
/**
* The user's gender.
*/
gender: string;
/**
* The user'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's preferred locale.
*/
locale: string;
/**
* The user's full name.
*/
name: string;
/**
* URL of the user's picture image.
*/
picture: string;
/**
* Boolean flag which is true if the email address is verified. Always
* verified because we only return the user'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;
}