如何查询登录多少Gmail帐户



对于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
    });
  })

最新更新