2014-10-11 2 views
1

В настоящее время я редактирую электронную таблицу Google, которая настроена для публичного редактирования входами и анонимными пользователями (я не являюсь владельцем). Я создал скрипт в электронной таблице и назначил его чертежу (Insert Drawing). Я также назначил сценарий изображению.Скрипты, не работающие для анонимных пользователей, электронная таблица Google

Есть две неудачные странности: 1) Рисунок не отображается, если вы анонимный (я использую режим инкогнито?). Вы можете увидеть этот флажок и щелкнуть его правой кнопкой мыши для меню (и даже удалить его), но сам рисунок не отображается. Вы также по какой-то причине не можете добавить новый чертеж в качестве анонимного пользователя - вы получаете «Требуется разрешение» и любопытный «Вы вошли в систему». Изображение действительно появляется, и вы можете добавить свои собственные изображения. 2) Скрипты не запускаются для анонимных пользователей - либо сценарий, назначенный изображению (видимый), либо скрипт, прикрепленный к чертежу.

Сценарий на изображение выглядит следующим образом:.

function messageBarnImage() { 
 
    Browser.msgBox("there is a message here") 
 
}

Скрипт работает нормально, когда я вошел в

Интересно, является ли проблема, связанная с этим ответом : https://stackoverflow.com/a/18412704/1427742 но у меня недостаточно репутации, чтобы прокомментировать его (я не понимаю, что это значит), и я не уверен, что это то же самое.

Вопрос: как мне отображать и запускать мои скрипты для кнопок-скриптов?

ответ

2

Сообщение, на которое вы ссылаетесь, имеет четкий ответ: любой вызов службы электронной таблицы потребует разрешения на работу. Это неявно исключает анонимных пользователей. См. Ответ Зиг Мандель для объяснения того, как его решить (воспроизведено ниже)

Эта кнопка запускается под разрешением пользователя. Если его анонимный он не запускается, если ему требуется какое-либо разрешение api (например, чтение электронной таблицы), поскольку нет пользователя. Для пользователей, не являющихся анонимными, вам необходимо добавить элемент меню, который вызовет диалоговое окно разрешения google (просто сделайте какой-либо немой вызов api из него). После того, как пользователь одобрит это, вы сможете нажать кнопку изображения

+0

Как я уже сказал, я не понимаю ... Я понимаю, что более сложный сценарий (который я не разместил) не будет работать для анонимных пользователей, когда он обращается к электронной таблице. Я не знаю, почему более простой скрипт (который просто вызывает Browser.msgbox) не работает. Я не знаю, почему рисунок не появляется, и почему анонимные пользователи не могут его добавить. Я не знаю, почему электронная таблица не запрашивает разрешения. И я не знаю, как вызвать диалог разрешения google. «просто сделай какой-нибудь немой ави-звонок» - более подробная информация жаль! –

+0

Сценарий может ** не запрашивать авторизацию анонимным пользователям, они должны быть авторизованы, чтобы получить запрос авторизации. Установленный onEdit будет работать, так как он работает как вы, а не нелогичный пользователь. Вы пробовали мой лист? Браузерное сообщение не сработало, поэтому я использовал setValue(). –

+0

Извините, я смешал этот пост с [этим другим сообщением] (http://stackoverflow.com/questions/26317723/google-spreadsheet-gas-trigger-not-firing-for-anonymous-editors) примерно по тому же вопросу , пожалуйста, прочитайте его для получения более подробного ответа об авторизации. О «фиктивной функции» означает функцию **, вызванную из меню **, которая ничего не делает, кроме как инициировать запрос авторизации скрипта Google. –

Смежные вопросы