只是尝试使用谷歌应用程序脚本。在匿名模式下,事情似乎很好。除了任何人都可以像我的代码片段那样调用我的脚本:
curl "https://script.google.com/macros/s/.../exec?ip=\"$myIp\""
我使用this manual获取有关如何通过GoogleLogin进行身份验证的提示。问题是我发送身份验证令牌时收到的“401 Unauthorized”和谷歌方面设置的“我(所有者)/仅我自己”选项。 (令牌似乎是正确的。如果我省略密码或输入错误,那么我会收到“Bad auth”)如果我再次设置“任何人,甚至是匿名”,它会起作用,但是auth的东西似乎被忽略了。做这个伎俩的正确方法是什么?
#!/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\""
答案 0 :(得分:0)
您使用ClientLogin
https://www.google.com/accounts/ClientLogin
这是谷歌错误:
重要提示:自4月20日以来,ClientLogin已被正式弃用, 2012年,现在不再可用。对ClientLogin的请求将失败 使用HTTP 404响应。我们建议您迁移到OAuth 2.0 尽快。