gapi.drive.share.ShareClient завершается ошибкой при наличии нескольких учетных записей - PullRequest
0 голосов
/ 18 февраля 2019

Я получаю следующую ошибку:

"Извините, обмен в данный момент недоступен. Пожалуйста, повторите попытку позже".

Я использую следующий код

var shareClient = new gapi.drive.share.ShareClient(this.appId);
    shareClient.setOAuthToken(gapi.auth.getToken().access_token);
    shareClient.setItemIds([id]);
    shareClient.showSettingsDialog();

На консоли отображается следующая ошибка:

Не удалось выполнить 'postMessage' в 'DOMWindow': указан целевой источник ('https://docs.google.com') не соответствует источнику окна получателя ('https://example.com').

При загрузке обнаружен неверный заголовок' X-Frame-Options '* https://docs.google.com/picker?protocol=gadgets&origin=...

Эта ошибка возникает только при использовании учетной записи GSuite и входе в систему с несколькими учетными записями (например, мойличный аккаунт и мой бизнес аккаунт GSuite)

Использование моего личного аккаунта прекрасно работает в той же настройке

Я нашел старый вопрос, касающийся аналогичной проблемы, еще в 2014 году. Google исправил это (введя setOAuthTokenТаким образом, похоже, что эти старые проблемы не связаны с моей текущей проблемой

Спасибо

Обновление:

Я обнаружил, что только первый аккаунт вошел в GoogОн работает с общим клиентом (независимо от его типа)

Например:

(1) Вы вошли как пользователь X

(2) Вы вошли как пользователь Y

(3) Вызовите ShareClient от имени пользователя X (работает)

(4) Вызовите ShareClient от имени пользователя Y (не удалось)

Выделите эти две учетные записи, а затем выполните обратное

(1) Зарегистрируйтесь как пользователь Y

(2) Войдите как пользователь X

(3) Вызовите ShareClient как пользователь Y (работает)

(4) Вызовите ShareClient как пользователь X (не удается)

...