2013-02-03 117 views
3

只是想玩谷歌應用程序腳本。在匿名模式下,事情看起來很好。除此之外,任何人都可以打電話給我的劇本只是這樣的片斷所示:Google App腳本捲曲授權

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

我用this manual就如何通過認證的GoogleLogin提示。問題是我發送授權令牌時收到的「401未授權」,並在谷歌方面設置了「我(所有者)/只有我自己」選項。 (令牌似乎本身是正確的,如果我省略了密碼或輸入錯誤,我就會收到「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

您使用ClientLogin

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

這是谷歌的錯誤:

重要提示:ClientLogin的自4月20日, 2012已正式棄用,現在不再可用。對ClientLogin的請求將通過HTTP 404響應失敗 。我們鼓勵您儘快遷移到OAuth 2.0,作爲 。