Gmail API 方法 users.history.list 发送不完整的消息对象作为响应

问题描述

我使用带有以下 background.js 的 chrome 扩展来调用 GMail API users.history.list 方法

chrome.tabs.onUpdated.addListener( function (tabId,changeInfo,tab) {
    if (changeInfo.status == 'complete') {
      chrome.identity.getAuthToken({ 'interactive': true },function(token) {
        thisToken = token
        chrome.runtime.onMessage.addListener(
          function(request,sender,sendResponse){

            var userlist = "https://gmail.googleapis.com/gmail/v1/users/me/history?startHistoryId=<historyId>&access_token=" + thisToken
  
            var makeGetRequest = function (gapiRequestURL)
              {
                  var xmlHttp = new XMLHttpRequest();
                  xmlHttp.open( "GET",gapiRequestURL,false );
                  xmlHttp.send( null );
                  console.log(xmlHttp.responseText)
                  return xmlHttp.responseText;
              }
            makeGetRequest(userlist);
            
          }
        );
      });
    }
  })

我得到的回复是这样的:

  "history": [
    {
      "id": string,"messages": [
        {
          "id": string,"threadId": string
        }
      ]
    },

在 api 文档中显示的响应中:

{
  "id": string,"messages": [
    {
      object (Message)
    }
  ]
}

消息对象应具有以下字段:

{
  "id": string,"threadId": string,"labelIds": [
    string
  ],"snippet": string,"historyId": string,"internalDate": string,"payload": {
    object (MessagePart)
  },"sizeEstimate": integer,"raw": string
}

为什么我收到的消息对象中只有 idthreadId

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)