Получить authToken для каждой учетной записи Gmail - PullRequest
0 голосов
/ 13 октября 2018

Работает над обновлением плагина Chrome.У меня есть пользователи с несколькими учетными записями Gmail, открытыми на разных вкладках браузера.Плагин Chrome создает кнопку на каждой вкладке Gmail. Когда пользователь нажимает на кнопку, плагин должен получить authToken для учетной записи Gmail, прежде чем предпринимать какие-либо действия.Я использовал следующее

chrome.identity.getAuthToken({ interactive: true }, 
    function(token) {..})

Но проблема в том, что authToken может не подходить для текущей учетной записи Gmail (каждая вкладка браузера имеет свою учетную запись Gmail).Я видел, что он получает authToken для основной учетной записи и пробовал его на других учетных записях Gmail, что приведет к сбою моих действий.

Следуя тому, что описано в идентификационный API , я думал оиспользуя

chrome.identity.getAuthToken({ interactive: true, account: {id : "<ACCOUNT_ID>"} }, 
    function(token) {..})

Но я не могу найти ACCOUNT_ID.Я попробовал следующий API (из той же ссылки)

chrome.identity.getProfileUserInfo(function(x) {console.log(x) })

, но он дал мне

{email: "", id: ""}

Есть идеи?Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Попробуйте использовать chrome.identity.getAccounts (обратный вызов функции) вместо chrome.identity.getProfileUserInfo.

Для получения дополнительной информации см. Ссылку ниже - https://developer.chrome.com/apps/identity#method-getAccounts.

Надеюсь, это поможет.

0 голосов
/ 16 октября 2018

укажите хром identity.email в манифесте. здесь .

//  ...
var x = chrome.identity.getProfileUserInfo(
  chrome.identity.getAuthToken({interactive:true}, function(token) {..})
);
//  ...

Должно работать ... Просто вызывайте функцию, когда пользователь нажимает кнопку ...
Например, вложенный код внутри document.getElementById('button').addeventlistener('click', x);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...