google Calendar API-打字稿类型

时间:2018-11-14 18:09:38

标签: typescript api calendar google-calendar-api

有人知道用于node.js(或浏览器)的google Calendar API(npm googleapis pkg)是否具有可用于打字稿的类型。 允许在节点或角度使用强类型方法。

我找不到@ types / googleapis npm软件包。 文档中也没有任何内容。

任何建议欢迎。

谢谢。

- 该文档说它是本地支持的,不需要单独的软件包。 Doc - section Typescript 但是,当我尝试时,如文档中所述

    import { google, calendar_v3 } from 'googleapis';

打字稿告诉我: [ts]模块'“ / home / me / myProject / functions / node_modules / googleapis / build / src / index”'没有导出的成员'calendar_v3'。 [2305]

当我在googleapis / build / src / index.d.ts中查看时,我看到了GoogleApis,它指向所有API所在的../apis,带有v3.d.ts文件,其中包括名称空间

    * @namespace calendar
    * @type {Function}
    * @version v3
    * @variation v3

因此,很明显,它在那里,但是我缺少了一些东西……但是呢? 如何在打字稿中使用此库? 举个例子。

菲利普

3 个答案:

答案 0 :(得分:2)

您绝对可以将此库与TypeScript一起使用。它是用TypeScript编写的!这是一个基本示例:

import {google} from 'googleapis';
const calendar = google.calendar('v3');

这是获得对API特定子节的引用的正确方法:)

希望这会有所帮助!

答案 1 :(得分:2)

@ justin-beckwith的答案是正确的,但是检索类型也值得一个例子:

import { calendar_v3, google } from 'googleapis';
import { OAuth2Client, Credentials } from 'google-auth-library';
import Calendar = calendar_v3.Calendar;
import Schema$Event = calendar_v3.Schema$Event;

const auth: OAuth2Client = new google.auth.OAuth2(...);
const calendar: Calendar = google.calendar({ version: 'v3', auth });
const schemaEvent: Schema$Event = (await calendar.events.get({ calendarId, eventId })).data;

答案 2 :(得分:1)

尝试遵循此Angular 6 – Google Drive Api v3 example,我尝试了本教程将Google API集成到我的角度应用程序中。不是@types/googleapis,而是@types/gapi

npm install --save @types/gapi
npm install --save @types/gapi.auth2
npm install --save @types/gapi.client.drive

您将呼叫gapi.client.drive而不是gapi.client.calendar