Я только что впервые опубликовал свое дополнение в G Suite Marketplace: D
(Примерно через 2 недели Google опубликовал наш аддон сегодня)
И первое, что я заметил: Очень много ошибок :(
Хотя я очень тщательно тестировал свой код со связанным документом.
Ошибки, связанные с этой строкой кода:
Session.getActiveUser().getEmail()
Он всегда возвращает пустую строку, хотя у меня было разрешение OAuth для https://www.googleapis.com/auth/userinfo.email
Я предполагаю (но не уверен), что мне нужно вместо этого использовать эту функцию:
Session.getEffectiveUser().getEmail()
Я не могу быть уверен, потому что я обновил код и отправил новую версию в G Suite Marketplace, но Google еще не опубликовал ее (возможно, из-за того, что миграция из Addon Store в G Suite Marketplace все еще нестабильна)
Есть ли у вас опыт работы с Addon в G Suite Marketplace по этой проблеме?
Должен ли я все время использовать getEffectiveUser()
вместо getActiveUser()
?
РЕДАКТИРОВАТЬ:
Это контекст кода, запускающего Session.getActiveUser ():
- После того, как пользователь принял разрешения OAuth
- Боковая панель появилась
- Клиентский код вызывает функцию X (которая вызывает Session.getActveUser ()) с использованием
google.script.run.functionX...
Согласно этому руководству https://developers.google.com/gsuite/add-ons/concepts/editor-auth-lifecycle#authorization_modes, при использовании google.script.run AuthMode - ПОЛНЫЙ
AuthMode.FULL
, это объясняет возвращаемую пустую строку. - person chuckx   schedule 09.09.2019