Google Apps Script: интеграция с Salesforce OAuth2 - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь подключиться к Salesforce с помощью OAuth2 в дополнении Google Sheets.

var url = 'https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=' +
           clientId + '&redirect_uri=' + redirectUri + '&display=popup' + 
           '&scope=full' + '&prompt=login';

Где redirectUri - это еще один URL-адрес WebApp скрипта Служб Google.

Теперь мне нужно передать code, возвращенный Salesforce, в мою надстройку Google Sheets, но я не могу чтобы найти решение для этого.

Пожалуйста, дайте мне знать, если есть лучший способ сделать аутентификацию.

Любая помощь или предложение было бы здорово.

1 Ответ

0 голосов
/ 10 марта 2020

Краткий ответ

Нет, вы не можете открыть дочернее окно для загрузки в том же контексте в надстройках редактора.

Объяснение

Поскольку Google Apps Script использует песочницу безопасности для очистки содержимого пользовательского приложения, вы не сможете использовать <iframe> или загрузку ресурсов в том же окне. Несмотря на то, что вы можете загрузить целевой ресурс в том же окне в WebApp, вы не можете в Надстройках редактора (allow-top-navigation для атрибута sandbox не установлен, когда в контексте надстройки редактора).

Если это нормально, я бы предложил установить свойства width и height, а также свойства top и left для центрирования или перемещения окна рядом с боковой панелью +, используя window.open(), опционально с откат к ссылке, если всплывающие окна заблокированы. Это, по крайней мере, сохранит качество UX относительно неизменным.

Ссылки

Если вы хотите узнать больше о существующих ограничениях и методах:

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