3

只是想玩谷歌应用脚​​本。在匿名模式下,一切似乎都很好。除了任何人都可以像该片段显示的那样简单地调用我的脚本:

curl "https://script.google.com/macros/s/.../exec?ip=\"$myIp\""

我使用本手册获取有关如何通过 GoogleLogin 进行身份验证的提示。问题是我在发送身份验证令牌时收到“401 Unauthorized”,并且在 Google 端设置了“我(所有者)/只有我自己”选项。(令牌本身似乎是正确的。如果我省略密码或输入错误,那么我会收到“错误的身份验证”)如果我再次设置“任何人,甚至匿名”,它就可以工作,但身份验证的东西似乎被忽略了。做这个把戏的正确方法是什么?

#!/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\""
4

1 回答 1

0

您使用 ClientLogin

https://www.google.com/accounts/ClientLogin

这是谷歌错误:

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

于 2016-02-24T09:25:18.683 回答