Я работаю в проекте, который должен взаимодействовать с несколькими службами 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() { ... })
При этом он загружает, конструирует и собирает различные части клиентской библиотеки в соответствии с тем, что документы по открытию говорят ему, что это необходимо.
Вот в чем дело ... на самом деле сейчас работает нормально , но:
Я не знаю, является ли верным подходом (кажется, мне, что он строит огромный чудовищный объект)
Некоторые сервисы (такие как Gmail) редко требуются приложением , и если они есть, это будет для очень простое действие (например, отправка электронного письма с сообщением об ошибке).
Итак, мой вопрос,
Зачем загружать их все одновременно?
и
Разве невозможно создать несколько клиентов для каждой службы, когда (и если) необходимо? * 1 044 *
Поиск в Stackoverflow Я пришел к этому вопросу , но, похоже, он относится к Android Разработка приложений.
Если у вас есть идеи, соображения или исправления, я оценю их, спасибо!