This code uses the Gmail JavaScript API to search the inbox of the authenticated user (userId = me) for email threads that match the specified query. You need to create a new project in Google developer console with the Gmail API enabled.
The scope can be “https://www.googleapis.com/auth/gmail.readonly” since this Gmail app requires only read only access to the user’s mailbox.
var threads = function listGmailThreads(userId, query, callback) { var getPageOfThreads = function (request, result) { request.execute(function (resp) { result = result.concat(resp.threads); var nextPageToken = resp.nextPageToken; if (nextPageToken) { request = gapi.client.gmail.users.threads.list({ 'userId': userId, 'q': query, 'pageToken': nextPageToken }); getPageOfThreads(request, result); } else { callback(result); } }); }; var request = gapi.client.gmail.users.threads.list({ 'userId': userId, 'q': query }); getPageOfThreads(request, []); }