Gmail APIでメールを取得する

Gmail APIでメールを取得する

下準備

Google Developpers Consoleでプロジェクトを作成を行ってください。

メールの取得

メールの取得は一度、メール一覧を取得して、個別IDを取得します。その後、そのIDを用いて、メールの本文や件名を取得していきます。

<script src="//apis.google.com/js/client.js?onload=onLoadCallbackFunction"></script>
client_id = ""; //Client id
scopes = [ "https://www.googleapis.com/auth/gmail.readonly" ];
function onLoadCallbackFunction() {
  gapi.auth.authorize({'client_id': client_id, 'scope': scopes, 'immediate': true}, handleAuthResult);
}
function handleAuthResult(authResult) {
  if (authResult && !authResult.error) {
    gapi.client.load('gmail', 'v1', function(){
      //メール一覧の取得
      gapi.client.gmail.users.messages.list({
        'userId': 'me',
        'maxResults': 10, //メール取得件数
      }).execute(function(response) {
        //各メールの詳細データの取得
        $.each(response.messages, function() {
          var messageRequest = gapi.client.gmail.users.messages.get({
            'userId': 'me',
            'id': this.id,
          }).execute(function(message) {
            for(var i=0; i<message.payload.headers.length;i++){
              //codes...
            }
          });
        });
      });
    });
  } else {
    //認証失敗
  }
}

メールの絞り込み

メール一覧の取得時にクエリーを設定することができます。クエリーの詳細はGmail Helpに掲載されています。

gapi.client.gmail.users.messages.list({
  'userId': 'me',
  'maxResults': 10,
  'q': '', //クエリー
})