Bash 谷歌应用程序脚本认证

Bash 谷歌应用程序脚本认证,bash,curl,google-apps-script,authorization,Bash,Curl,Google Apps Script,Authorization,只是想玩谷歌应用程序脚本。在匿名模式下,情况似乎很好。除了任何人都可以调用我的脚本,就像下面的代码片段所示: curl "https://script.google.com/macros/s/.../exec?ip=\"$myIp\"" 我用谷歌登录来获取如何认证的提示。问题是,在google端设置了“我(所有者)/只有我自己”选项时,我收到了“401未经授权”。(令牌本身似乎是正确的。如果我省略了密码或键入错误,那么我将收到“错误的身份验证”)如果我再次设置“任何人,甚至匿名”,它会工作,但

只是想玩谷歌应用程序脚本。在匿名模式下,情况似乎很好。除了任何人都可以调用我的脚本,就像下面的代码片段所示:

curl "https://script.google.com/macros/s/.../exec?ip=\"$myIp\""
我用谷歌登录来获取如何认证的提示。问题是,在google端设置了“我(所有者)/只有我自己”选项时,我收到了“401未经授权”。(令牌本身似乎是正确的。如果我省略了密码或键入错误,那么我将收到“错误的身份验证”)如果我再次设置“任何人,甚至匿名”,它会工作,但身份验证内容似乎被忽略。正确的方法是什么

#!/bin/bash
gmail=$1
password=$2
myIp=$3
GoogleAuthToken=""
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 
curl -L --silent --header "Authorization: GoogleLogin auth=$GoogleAuthToken" "https://script.google.com/macros/s/.../exec?ip=\"$myIp\""
您可以使用ClientLogin

https://www.google.com/accounts/ClientLogin
这是谷歌的错误:

重要提示:自4月20日以来,ClientLogin已被正式弃用, 2012年,现在不再提供。对ClientLogin的请求将失败 使用HTTP 404响应。我们鼓励您迁移到OAuth 2.0 尽快