我一直在尝试将duplicity备份到google drive。但是看起来它仍然在使用旧的客户端API。
我发现一些帖子说新的API应该得到支持,但没有太多关于如何让它工作的细节。
我在编译和使用duplicity 7.0.3时遇到了这个错误:
BackendException: GOOGLE_DRIVE_ACCOUNT_KEY environment variable not set. Please read the manpage to fix.
有没有人设置了双重身份来使用Google Drive,并且知道怎么做?
发布于 2015-12-05 12:34:57
现在谷歌已经开始强制客户使用OAuth,使用Google Drive作为备份目标实际上已经变得非常令人困惑。我找到了带我走过它的an excellent blog post。重要的步骤是:
安装PyDrive
PyDrive是让Duplicity使用OAuth访问驱动器的库。
pip install pydrive
应该足够了,或者你可以通过你的发行版的包管理器。
创建API令牌
导航到the Google Developer Console并登录。创建一个项目,并从顶部工具栏的下拉列表中选择它。
现在选择仪表板中的“启用API和服务”按钮,该按钮应该已经被拉出,但如果没有,则在左侧的汉堡包菜单中。
搜索并启用驱动器API。启用后,您可以实际创建令牌。从左侧导航栏中选择"Credentials“,然后单击"Add Credential”> "OAuth 2.0 Client ID“。将应用程序类型设置为“Other”。
创建凭据后,单击它以查看详细信息。将显示您的客户端ID和密码。记下它们。
配置重复性
呼。实际配置程序的时间。将以下内容粘贴到一个文件中,将您的客户端ID和密码替换为上述控制台中的ID和密码。
client_config_backend: settings
client_config:
client_id: <your client ID>.apps.googleusercontent.com
client_secret: <your client secret>
save_credentials: True
save_credentials_backend: file
save_credentials_file: gdrive.cache
get_refresh_token: True
(我使用的是优秀的Duply前端,所以我将其保存为~/.duply/<server name>/gdrive
)。
需要在GOOGLE_DRIVE_SETTINGS
环境变量中为该文件指定Duplicity。因此,您可以像这样调用duplicity:
GOOGLE_DRIVE_SETTINGS=gdrive duplicity <...>
或者,如果您使用的是Duply,可以在Duply配置文件中export
这个变量:
export GOOGLE_DRIVE_SETTINGS=gdrive
首次运行Duplicity将启动OAuth进程;您将获得一个访问链接,该链接将询问您之前在控制台中创建的应用程序的权限,以访问您的驱动器帐户。接受,它将为您提供另一个身份验证令牌,以便粘贴回终端。授权信息将与gdrive
设置文件一起保存在.cache
文件中。
在这一点上,您应该可以运行了,并且Duplicity应该表现正常。祝好运!
https://stackoverflow.com/questions/31370102
复制相似问题