似乎没有记录threads.get()和messages.get()如何对它们返回的结果进行排序。
顺序是按日期/时间降序排列吗?
我只是想说,使用 javascript 库 -- messages.list 不会以日期 ASC 或日期 DESC 返回。据我所知,它们是随机返回的。
起初我认为这可能是我的代码,因为我使用 jquery $.each 来解析 JSON,但即使使用本机 javascript for 循环,它们仍然不按日期顺序。看起来返回的消息大部分都是日期 DESC,但时不时会出现乱序的情况。我已经做了相当多的操作来尝试诊断,思考......也许这些消息属于同一个线程......但事实并非如此。
如果有人有关于继续使用 javascript 库的正确方法的提示,请发布。我宁愿简单地处理消息,因为我的应用程序是一个简单的记录,而不是对消息进行完整的 CRUD...所以我只需要一个简单的反向日期顺序的消息列表。
添加:我还使用threads.list和threads.get来返回消息,并且它们在返回时更加随机地排序。真的很喜欢有人发布检索按日期排序的消息的正确方法。将代码复制到这里供任何/所有愿意查看的人参考
function makeApiCall() {
gapi.client.load('gmail', 'v1', function() {
//console.log('inside call: '+myquery);
var request = gapi.client.gmail.users.threads.list({
'userId': 'me',
'q': myquery
});
request.execute(function(resp) {
//$('.ASAP-emailhouse').append(message+'<br>');
jQuery(document).ready(function($) {
var nummessages = resp.threads.length;
for (i = 0; i < resp.threads.length; i++) {
//$('.ASAP-emailhouse').append(resp.messages[i].id+'<br>');
var threadId = resp.threads[i].id;
var messagerequest = gapi.client.gmail.users.threads.get({
'userId': 'me',
'id': threadId
});//end var message request
messagerequest.execute(function(messageresp) {
for (m = 0; m < messageresp.messages.length; m++) {
//$('.ASAP-emailhouse').append(messageresp.messages[m].payload.headers.length+'<br>');
for (n = 0; n < messageresp.messages[m].payload.headers.length; n++) {
//$('.ASAP-emailhouse').append(messageresp.messages[m].payload.headers[n].name+'<br>');
if( messageresp.messages[m].payload.headers[n].name == 'Date'){
$('.ASAP-emailhouse').append(messageresp.messages[m].payload.headers[n].value+'<br>');
}
}
}
});
}//end for each message
});//end jquery wrapper for wordpress
});//end request execute list messages
});//end gapi client load gmail
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
3348 次 |
| 最近记录: |