Несколько экземпляров Google API Javascript Client? - PullRequest
0 голосов
/ 13 января 2020

Я работаю в проекте, который должен взаимодействовать с несколькими службами Google одновременно.

Таким образом, он использует API Google People, Sheets API, Drive API и (в некоторых случаях) Gmail API. ..

Для этого я использую Google API Javascript Library. Следуя Документам Google API и некоторым собственным исследованиям, я пришел к решению добавить несколько Документов Discovery и областей в мой client.init следующим образом:

    gapiClientParams = {

/*... other client params ...*/

        "discoveryDocs": ["https://sheets.googleapis.com/$discovery/rest?version=v4",
            "https://people.googleapis.com/$discovery/rest?version=v1",
            "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest"],
        "scope": "https://www.googleapis.com/auth/spreadsheets"
            + " https://www.googleapis.com/auth/userinfo.profile"
            + " https://www.googleapis.com/auth/contacts"
            + " https://www.googleapis.com/auth/drive"
    }

, а затем

  gapi.client.init(gapiClientParams)
    .then( function() { ... })

При этом он загружает, конструирует и собирает различные части клиентской библиотеки в соответствии с тем, что документы по открытию говорят ему, что это необходимо.


Вот в чем дело ... на самом деле сейчас работает нормально , но:

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

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

Итак, мой вопрос,

Зачем загружать их все одновременно?

и

Разве невозможно создать несколько клиентов для каждой службы, когда (и если) необходимо? * 1 044 *

Поиск в Stackoverflow Я пришел к этому вопросу , но, похоже, он относится к Android Разработка приложений.

Если у вас есть идеи, соображения или исправления, я оценю их, спасибо!

...