对于Webextension,我正在尝试通过将XMLHTTPRequest发送到:
来检查Gmail收件箱https://mail.google.com/mail/u/0/feed/atom
https://mail.google.com/mail/u/1/feed/atom
https://mail.google.com/mail/u/2/feed/atom
...等等。我想为当前登录帐户登录的所有内容做到这一点,但我不知道如何找出这个数字。
当然,有一种愚蠢的方式,因为我只是继续增加u/#//直到循环回到/u/0/,然后在那里进行检查。
但这很慢,因为我不得不等待异步返回,很可能会有更好的方法。
不确定gmail,但是您可以使用browser.cookies.getall读取所有用户cookie for" mail.google.com"(或accounts.google.com或类似)。
这是您知道您要寻找的cookie的名称,因此您可以推断出用户登录了多少个帐户。
另外,请确保将cookies
权限添加到您的清单
browser.cookies.getAll({ domain: 'mail.google.com' })
.then(cookies => {
// do something with the cookies
});
如果您可以假设每个Gmail收件箱在某个选项卡中打开,则可以查询所有当前选项卡:
browser.tabs.query({ url: "https://mail.google.com/mail/u/*" })
.then(tabs => {
tabs.forEach(tab => {
// do an XHR request to tab.url or just extract the inbox ID for later use
});
})