首先使用您的帐户和密码进行身份验证(请参阅http://developers.google.com/accounts/docs/AuthForInstalledApps)
auth=`curl --silent -d Email=whatever@gmail.com -d Passwd=yourpwd -d service=contacts https://www.google.com/accounts/ClientLogin|grep ^Auth=|cut -d= -f2`
获取神秘的“tok”变量。我发现它是 JSON 请求的一部分:
tok=`curl --silent --header "Authorization: GoogleLogin auth=$auth" "https://www.google.com/s2/gastatus?out=js&rc=0" |sed 's/,/\n/g' |grep AuthToken |cut -d'"' -f6`
下载 CSV(Google 格式)。这与手动执行此操作的方式完全相同:support.google.com/mail/answer/24911?hl=en
curl -s --stderr - -L -o contacts-google-whatever\@gmail.com-$(date +%Y-%m-%d-%H.%M.%S).csv -H "Authorization:GoogleLogin auth=$auth" --insecure "https://www.google.com/s2/data/exportquery?ac=false&cr=true&ct=true&df=true&ev=true&f=g2&gids=6&gp=true&hl=en-US&id=personal&max=-1&nge=true&out=google_csv&sf=display&sgids=6%2Cd%2Ce%2Cf%2C17&st=0&tok=$tok&type=4"
变量“out”可以是 google_csv、outlook_csv、vcard 之一。我的代码是 bash,您可能希望将 curl 命令更改为 Python 等效命令。重要的信息是变量和 URL。