Немного поиграл с гуглоскриптами - в анонимном режиме все хорошо, кроме того, что скрипт может выполнить кто угодно.
Тут есть мануал по прикручиванию авторизации через GoogleLogin, он рассматривает случай для доступа к пикасе.
При выполнении примерно такого кода (получение токена, затем попытка авторизации с токеном):
#!/bin/bash
gmail=$1
password=$2
myIp=$3
GoogleAuthToken=`curl --silent https://www.google.com/accounts/ClientLogin --data-urlencode Email=$gmail \
--data-urlencode Passwd=$password -d accountType=GOOGLE -d source=YouDontSay -d service=lh2`
echo $GoogleAuthToken
GoogleAuthToken=$(echo "$GoogleAuthToken" | grep 'Auth=' | sed s/Auth=//)
echo $GoogleAuthToken
echo $myIp
curl -L --silent --header "Authorization: GoogleLogin auth=$GoogleAuthToken" "https://script.google.com/macros/s/.../exec?ip=\"$myIp\""
скрипт выдает ошибку 401 (Unauthorized).
Если скрипт на script.google.com сделать доступным «Anyone, even anonymous» - все работает... Но на самом деле достаточно строчки
curl --silent "https://script.google.com/macros/s/.../exec?ip=\"$myIp\""
ЧЯДНТ? (Токен приходит нормально: если банально ошибиться в пароле, вместо токена придет «Bad auth»). Может, service= не тот? (копипастил из примера - какой «тот» для скриптов не уверен)