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': '', //クエリー
})