API Google Calendar - tipuri TypeScript


Știe cineva dacă API-ul Google Calendar (pachetul npm googleapis) pentru node.js (sau browser) are tipuri disponibile care ar putea fi folosite în TypeScript. Permițând o abordare puternic tipizată în node sau Angular.

Nu am putut găsi un pachet npm @types/googleapis. Niciun lucru în documentație.

Orice sfat este binevenit.

Mulțumesc anticipat.

-- Documentația spune că este suportat nativ, nu este nevoie de un pachet separat. Doc - secțiunea Typescript DAR, când încerc, așa cum este menționat în doc

    import { google, calendar_v3 } from 'googleapis';

Typescript îmi spune: [ts] Modulul '"/home/me/myProject/functions/node_modules/googleapis/build/src/index"' nu are niciun membru exportat 'calendar_v3'. [2305]

Când mă uit în googleapis/build/src/index.d.ts văd GoogleApis, care indică către ../apis unde sunt toate API-urile, cu un fișier v3.d.ts care include namespace-ul

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

Deci, evident, este acolo, dar îmi lipsește ceva ... dar ce? Cum poți folosi această bibliotecă în TypeScript? Un exemplu ar fi binevenit.

Philippe

Răspuns #1

Răspunsul lui @justin-beckwith este corect, dar și obținerea tipurilor merită un exemplu:

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;

Răspunsul #2

Poți absolut să folosești această bibliotecă cu TypeScript. Este scrisă în TypeScript! Iată un exemplu de bază:

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

Aceasta este calea corectă de a obține o referință la o subsecțiune particulară a API-ului :)

Sper că acest lucru ajută!