gcg
@maxim_mazurok/gapi.client.gmail-v1
npm i @maxim_mazurok/gapi.client.gmail-v1
gcg

@maxim_mazurok/gapi.client.gmail-v1

Updated and fixed version of TypeScript typings for Google APIs generator

by Maxim Mazurok

0.0.20220919 (see all)License:MITTypeScript:Built-In
npm i @maxim_mazurok/gapi.client.gmail-v1
Readme

TypeScript typings for Gmail API v1

The Gmail API lets you view and manage Gmail mailbox data like threads, messages, and labels. For detailed description please check documentation.

Installing

Install typings for Gmail API:

npm install @types/gapi.client.gmail-v1 --save-dev

Usage

You need to initialize Google API client in your code:

gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});

Then load api client wrapper:

gapi.client.load('https://gmail.googleapis.com/$discovery/rest?version=v1', () => {
  // now we can use:
  // gapi.client.gmail
});
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('gmail', 'v1', () => {
  // now we can use:
  // gapi.client.gmail
});

Don't forget to authenticate your client before sending any request to resources:

// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
      // Read, compose, send, and permanently delete all your email from Gmail
      'https://mail.google.com/',

      // Manage drafts and send emails when you interact with the add-on
      'https://www.googleapis.com/auth/gmail.addons.current.action.compose',

      // View your email messages when you interact with the add-on
      'https://www.googleapis.com/auth/gmail.addons.current.message.action',

      // View your email message metadata when the add-on is running
      'https://www.googleapis.com/auth/gmail.addons.current.message.metadata',

      // View your email messages when the add-on is running
      'https://www.googleapis.com/auth/gmail.addons.current.message.readonly',

      // Manage drafts and send emails
      'https://www.googleapis.com/auth/gmail.compose',

      // Add emails into your Gmail mailbox
      'https://www.googleapis.com/auth/gmail.insert',

      // See and edit your email labels
      'https://www.googleapis.com/auth/gmail.labels',

      // View your email message metadata such as labels and headers, but not the email body
      'https://www.googleapis.com/auth/gmail.metadata',

      // Read, compose, and send emails from your Gmail account
      'https://www.googleapis.com/auth/gmail.modify',

      // View your email messages and settings
      'https://www.googleapis.com/auth/gmail.readonly',

      // Send email on your behalf
      'https://www.googleapis.com/auth/gmail.send',

      // See, edit, create, or change your email settings and filters in Gmail
      'https://www.googleapis.com/auth/gmail.settings.basic',

      // Manage your sensitive mail settings, including who can manage your mail
      'https://www.googleapis.com/auth/gmail.settings.sharing',
    ],
    immediate = true;
// ...

gapi.auth.authorize(
  { client_id: client_id, scope: scope, immediate: immediate },
  authResult => {
    if (authResult && !authResult.error) {
        /* handle successful authorization */
    } else {
        /* handle authorization error */
    }
});

After that you can use Gmail API resources:


/*
Gets the current user's Gmail profile.
*/
await gapi.client.gmail.users.getProfile({ userId: "userId",  });

/*
Stop receiving push notifications for the given user mailbox.
*/
await gapi.client.gmail.users.stop({ userId: "userId",  });

/*
Set up or update a push notification watch on the given user mailbox.
*/
await gapi.client.gmail.users.watch({ userId: "userId",  });

Downloads/wk

1.4K

GitHub Stars

35

LAST COMMIT

7mos ago

MAINTAINERS

1

CONTRIBUTORS

8

OPEN ISSUES

12

OPEN PRs

5
VersionTagPublished
0.0.20220919
latest
7d ago
No alternatives found
No tutorials found
Add a tutorial

Rate & Review

100
No reviews found
Be the first to rate