javascript - 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
}
为什么我收到的消息对象只有id
和threadId
?
解决方案
推荐阅读
- c - 在树莓派中创建makefile
- fortran - 为什么在fortran中使用函数和包含时总是得到相同的结果
- java - Base64DecodingException:您必须在使用之前正确初始化 xml-security 库
- typescript - 对于具有一个或多个相同类型属性的对象,正确的 TypeScript 接口是什么?
- python - 在python中使用size()在数据框中输出为零
- python-3.x - python pyttsx3 错误 -- _pickle.UnpicklingError: invalid load key, '\x00'
- excel - CountIf 如何接受结构化参考列作为标准 VBA?
- swiftui - 如何移动列表中的房间(WWDC 2019 视频 204)?
- amazon - Spring Cloud Stream Kinesis 配置
- javascript - 如何在给定的数字范围内找到数字的所有因数