ljooo
ljooo

Reputation: 51

Using Gmail API search parameters

I am using the gmail API to search for messages. I want to include a few search parameters, but I can't figure out how to use more than one search parameter. I'd like to do older_than and -unsubscribe

$(document).ready(function() {
    var submitButton = 0;

  function randomPicture (){
    min = Math.ceil(1);
    max = Math.floor(14);
    var pictureNumber = Math.floor(Math.random() * (max - min)) + min;
    $('.sidetext').css('background-image', 'url(images/pic'+pictureNumber+'.jpg)');
    console.log(pictureNumber);
  }

    $('#submit').click(function(){
      randomPicture();
      var searchTerm = $('#input-person').val();
      listMessages('me', searchTerm, listMessageCallback);
       submitButton = submitButton + 1;
     $('.quote').remove();  

    });

    function listMessages(userId, query, callback) {
      $('#content').css('left', $('sidetext'.offsetLeft));
      var getPageOfMessages = function(request, result) {
          request.execute(function(resp) {
            result = result.concat(resp.messages)
        };

      var initialRequest = gapi.client.gmail.users.messages.list({
        'userId': userId,
        'q': query
      });

      // var Request = gapi.client.gmail.users.messages.list({
      //     'q': 'older_than:1y'
      // });

      getPageOfMessages(initialRequest,[]);
    }

    function listMessageCallback(result){
      console.log(result[0].id);
      var messageId = result[0].id;
      getMessage('me', messageId, getMessageCallback)

    }

    function getMessageCallback(result){
      console.log(result)
      $('#content').html(result.snippet);
      $('#content').css('font-size', '20px');
      $('#content').css('bottom-margin', '0');
      // $('#content').app
    }

    function getMessage(userId, messageId, callback) {
      var request = gapi.client.gmail.users.messages.get({
        'userId': userId,
        'id': messageId,
        'nonce': Math.random()
      });
      request.execute(callback);
    }


  })

Upvotes: 5

Views: 6734

Answers (1)

ReyAnthonyRenacia
ReyAnthonyRenacia

Reputation: 17613

According to Searching for Messages:

You can search or filter files using the messages.list and threads.list methods. These methods accept the q parameter which supports the same advanced search syntax as the Gmail web-interface

sample:

GET https://www.googleapis.com/gmail/v1/users/me/messages?q="in:sent after:2014/01/01 before:2014/01/30"

You can combine multiple parameters stated in Search operators you can use with Gmail.

Sample:

Messages that match multiple terms  
OR or { }

Example: from:amy OR from:david

Example: {from:amy from:david}

Upvotes: 5

Related Questions