【问题标题】:Gmail API : unable to request unread messageGmail API:无法请求未读邮件
【发布时间】:2016-08-10 14:05:28
【问题描述】:

我在这里发帖是因为我正在学习使用 Gmail API,但最近遇到了一个问题。当我尝试使用以下代码列出未读消息时

var request = gapi.client.gmail.users.messages.list({
    'userId': 'me',
    'labelIds': 'INBOX',
    'q': 'is:unread'
});

我有时会收到正确的消息,但有时不会。这就像 gmail api 无法访问 gmail 的即时状态,只能每隔几分钟同步一次。

另一个例子是,当我尝试使用

将消息标记为已读时
var request = gapi.client.gmail.users.messages.modify({
    'userId': 'me',
    'id': id,
    'removeLabelIds': ['UNREAD']
});
request.execute(function (response) {
    console.log(response)
}

响应显示此邮件不存在标签“未读”(并且在 Gmail 网络中被标记为已读),但如果我刷新我的网站,它会将之前的邮件加载为未读。

这让我发疯了,因为它在两天前有效,现在却不行了。

有什么想法吗?

编辑

清除每个请求之间的历史记录可以解决问题,但不知道为什么...

我尝试了这些解决方案,但都没有奏效 Disable gmail api request caching

【问题讨论】:

  • 似乎添加一个带有 SetEnv session.use_cookies='0'; 的 .htaccess修复了问题

标签: javascript api gmail read-unread


【解决方案1】:

试试这个代码:

var request = gapi.client.gmail.users.messages.list({
    'userId': 'me',
    'labelIds': 'UNREAD'
});

request.execute(function(response) {    

    console.log(response);

});

【讨论】:

    猜你喜欢
    • 2016-07-07
    • 2020-04-28
    • 2017-12-19
    • 2021-01-27
    • 2016-11-30
    • 2021-05-14
    • 2016-05-23
    • 2019-06-02
    • 2017-07-27
    相关资源
    最近更新 更多