有人知道用于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
因此,很明显,它在那里,但是我缺少了一些东西……但是呢? 如何在打字稿中使用此库? 举个例子。
菲利普
答案 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
。