gpt4 book ai didi

python - 通过无人值守脚本导出 GMail 联系人

转载 作者:太空狗 更新时间:2023-10-29 19:25:50 25 4
gpt4 key购买 nike

GMail 有一个方便的窗口,可让您将所有联系人导出为 CSV 文件。如果这样做,然后查看浏览器的历史记录,您会看到用于启动下载的 URL 类似于:

https://mail.google.com/mail/c/data/export?exportType=GROUP&groupToExport=%5EMine&out=GMAIL_CSV&tok=rQt5BTUBABA.N0gr2-zKkG9868fM7tF_FQ.fOgeVayblkGavK2AuFjZ2t

我想用 Python 编写一个批处理脚本,它会在每晚自动将此 CSV 文件下载到我的服务器,但我不知道如何获取“tok”。我研究过 Google 的 OAuth,但它似乎是一个人机交互的过程,而我需要在凌晨 3 点所有可用的人都睡着时进行。

这可以做到吗,或者 Google 是否让我的电子邮件帐户变得如此“安全”以至于我无法通过无人看管的脚本访问它?

谢谢! 布莱恩·M·埃利奥特

最佳答案

首先使用您的帐户和密码进行身份验证(参见 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。

关于python - 通过无人值守脚本导出 GMail 联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8927936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com