Tag: Gmail中的API

回调返回undefined

我试图从GMail API获取数据,以便能够从base64加密加载附件数据,但是当我尝试返回它时,我得到了未定义。 $Message[‘Content’][‘Attachment’][$Count][‘Data’] = getAttachments($Message[‘Details’][‘ID’], message[‘payload’][‘parts’][key], function (filename, mimeType, attachment) { return ‘data:’+mimeType+’;base64,’+attachment.data.replace(/-/g, ‘+’).replace(/_/g, ‘/’); }); function getAttachments(messageID, parts, callback) { var attachId = parts.body.attachmentId; var request = gapi.client.gmail.users.messages.attachments.get({ ‘id’: attachId, ‘messageId’: messageID, ‘userId’: ‘me’ }); request.execute(function (attachment) { callback(parts.filename, parts.mimeType, attachment); }); } 问题似乎是在函数返回值后数据可用。 这已经通过console.log()进行了测试。

Gmail REST API – 将邮件标记为已读

我正在尝试使用Gmail REST API将邮件标记为已读。 $(‘#markGmailRead’).click(function(){ var request = $.ajax({ type: ‘POST’, dataType: ‘json’, headers: { “Authorization”: “Bearer <>”, “Content-Type”: “application/json”}, url: ‘https://www.googleapis.com/gmail/v1/users/me/messages/<>/modify’, data: {“addLabelIds”: [“UNREAD”]} }) request.done(function(data){ // when the Deferred is resolved. console.log(data); }) request.fail(function(){ // when the Deferred is rejected. console.log(‘fail’); }) }) 这导致返回以下json: { “error”: { “errors”: [ { “domain”: “global”, “reason”: “parseError”, […]