1

Für eine WebExtension Ich versuche, die gmail inboxes durch Senden eines xmlhttprequest zu überprüfen:Wie abzufragen, wie viele Google Mail-Konten angemeldet sind?

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 

... und so weiter für jedes Konto. Ich möchte dies für alle derzeit angemeldeten Konten tun, aber ich weiß nicht, wie ich diese Nummer herausfinden soll.

Natürlich gibt es einen dummen Weg, in dem ich einfach die u/#/inkrementiere, bis ich zurück zu/u/0/gehe, und dort eine Überprüfung mache.

Aber das ist langsam, da ich dann auf das Async warten müsste, um zurückzukehren, hopfully wird es einen besseren Weg geben.

Antwort

0

Nicht sicher über Google Mail speziell, aber Sie könnten browser.cookies.getAll verwenden, um alle Benutzercookies für "mail.google.com" (oder accounts.google.com oder ähnliche) zu lesen.

Dies vorausgesetzt, dass Sie den Namen des Cookies kennen (n) die Sie suchen, so dass Sie sich auf, wie viele Konten schließen, kann der Benutzer angemeldet ist.

Stellen Sie außerdem sicher, dass die cookies Erlaubnis hinzuzufügen

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 
    }); 
    }) 
: Ihre manifest.json

browser.cookies.getAll({ domain: 'mail.google.com' }) 
    .then(cookies => { 
    // do something with the cookies 
    }); 

Wenn stattdessen können Sie davon ausgehen, dass jeder Google Mail-Posteingang in einigen Tab geöffnet ist, dann könnte man die aktuellen Tabs alle abfragen nur

Verwandte Themen