以编程方式备份​​Google日历:https://www.google.com/calendar/exporticalzip

Mic*_*ael 4 python authentication calendar

我正在努力编写一个python脚本,自动抓取包含我所有谷歌日历的zip失败并将其存储(作为备份)在我的硬盘上.

我正在使用ClientLogin获取身份验证令牌(并成功获取令牌).

很遗憾,我无法通过https://www.google.com/calendar/exporticalzip检索该文件

它总是通过将登录页面返回为html(而不是zip)来再次询问我的登录凭据.

这是关键代码:

post_data = post_data = urllib.urlencode({ 'auth': token, 'continue': zip_url})
request = urllib2.Request('https://www.google.com/calendar', post_data, header)
try:
  f = urllib2.urlopen(request)
  result = f.read()
except:
  print "Error"
Run Code Online (Sandbox Code Playgroud)

以前任何想法或做过的人?或者另一个想法如何备份我的所有日​​历(自动!)

sys*_*out 5

在从首选网址下载日历之前,您可以编写一个带有机械化的脚本来完成谷歌登录过程.

所以尝试:

import mechanize
br=mechanize.Browser()
br.open('https://www.google.com/calendar/exporticalzip')
br.select_form(nr=0)
br['Email']='Username@gmail.com'
br['Passwd']='Password'
br.submit()
br.retrieve('https://www.google.com/calendar/exporticalzip','exportical.zip')
Run Code Online (Sandbox Code Playgroud)

它对我有用,我成功下载了我的压缩日历.