Debian 7.1:使用 gdocs 后端时出现口是心非错误

Debian 7.1:使用 gdocs 后端时出现口是心非错误

我已经在我的 debian 7.1 amd64 系统上安装了duplicity备份工具加库。python-gdata

当我想duplicity在 Google Drive 上存储我的文档时,它在询问我的密码后显示此错误:

BackendException: Error while fetching remote entries: 'DocsClient' object has no attribute 'get_everything'.

这是我运行的命令:

duplicity documents/ gdocs://[email protected]

当我添加--verbose debug选项时,这是错误:

Using temporary directory /tmp/duplicity-fgU3N8-tempdir
Backend error detail: Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1404, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1397, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1248, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib/python2.7/dist-packages/duplicity/commandline.py", line 1007, in ProcessCommandLine
    backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/lib/python2.7/dist-packages/duplicity/commandline.py", line900, in set_backend
    globals.backend = backend.get_backend(bend)
  File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 158, in get_backend
    return _backends[pu.scheme](pu)
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/gdocsbackend.py", line 62, in __init__
    entries = self.__fetch_entries(parent_folder_id, 'folder', folder_name)
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/gdocsbackend.py", line 245, in __fetch_entries
    self.__handle_error('Error while fetching remote entries: %s.' % str(e))
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/gdocsbackend.py", line 182, in __handle_error
    raise BackendException(message)
BackendException: Error while fetching remote entries: 'DocsClient' object has no attribute 'get_everything'.

口是心非的版本是0.6.18-3

这与 Google Docs 成为 Google Drive 有什么关系吗?是不是 API 或 url 从那时起就发生了变化? Debian 软件相当老旧,所以这可能是。

如果是这样,我该怎么做才能让口是心非发挥作用?

编辑:

gdata我刚刚在 virtualenv 中安装了口是心非版本 0.6.22 。我输入与之前相同的用户名和密码,但错误消息变为:

BackendException: Invalid user credentials given. Be aware that accounts that use 2-step verification require creating an application specific access code for using this Duplicity backend. Follow the instrucction in http://www.google.com/support/accounts/bin/static.py?page=guide.cs&guide=1056283&topic=1056286 and create your application-specific password to run duplicity backups.

我只是想口是心非,但据我所知,ubuntu 的主要备份工具 deja-dup 是基于口是心非的。口是心非是可靠的备份工具吗?

答案1

这和 Google Docs 变成 Google Drive 有关系吗?

很可能作为Google 文档 API 已弃用:

重要的:自 2012 年 9 月 14 日起,Google Documents List API 版本 3 已正式弃用。它将继续按照我们的弃用政策运行,但我们鼓励您迁移到 Google Drive API。

我没有费心去查找他们的弃用政策,但它在弃用一年后不起作用,我一点也不感到惊讶。

答案2

这与 Google Docs 成为 Google Drive 有什么关系吗?

检查这个有趣的错误报告https://bugs.launchpad.net/duplicity/+bug/1030868

是不是 API 或 url 从那时起就发生了变化?

很有可能。

如果是这样,我该怎么做才能让口是心非发挥作用?

有一个修复方法。您应该等到提交到主分支,然后请求将其向后移植到 Debian(如果他们愿意的话),以便您可以将其安装在稳定版本中。否则,一旦发布修复程序,请自行构建软件包。

我刚刚在 virtualenv 中安装了口是心非版本 0.6.22 和 gdata。我输入与以前相同的用户名和密码,但错误 [...]

您确定您正在以正确的方式做事吗?我有 0.6.21,唯一的错误是关于“Google Docs 后端需要 Google Data APIs Python 客户端库”,这与凭据无关。您必须确保写入 gdocs://user:[电子邮件受保护]/目录

答案3

Ubuntu 12.04 上的 python-gdata 是 2.0.14-2,这已经过时了。从以下位置下载最新的 python-gdata debhttp://mirrors.kernel.org/ubuntu/pool/universe/p/python-gdata/python-gdata_2.0.18+dfsg-1_all.deb然后运行

dpkg -i python-gdata_2.0.18+dfsg-1_all.deb

相关内容