0

我正在尝试在具有重复性的 onedrive 中备份我的计算机上的文件。我已经安装了所有依赖项,运行 duplicity 时会生成身份验证链接,我必须在浏览器中打开该链接,而不是在授予应用程序权限后在 duplicity 中打开,然后粘贴返回 url。

我做了所有这些步骤,但口是心非让我回来了

Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1532, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1526, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1364, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib/python2.7/site-packages/duplicity/commandline.py", line 1116, in ProcessCommandLine
    backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/lib/python2.7/site-packages/duplicity/commandline.py", line 1005, in set_backend
    globals.backend = backend.get_backend(bend)
  File "/usr/lib/python2.7/site-packages/duplicity/backend.py", line 223, in get_backend
    obj = get_backend_object(url_string)
  File "/usr/lib/python2.7/site-packages/duplicity/backend.py", line 209, in get_backend_object
    return factory(pu)
  File "/usr/lib/python2.7/site-packages/duplicity/backends/onedrivebackend.py", line 90, in __init__
    self.initialize_oauth2_session()
  File "/usr/lib/python2.7/site-packages/duplicity/backends/onedrivebackend.py", line 153, in initialize_oauth2_session
    authorization_response=redirected_to)
  File "/usr/lib/python2.7/site-packages/requests_oauthlib/oauth2_session.py", line 232, in fetch_token
    self._client.parse_request_body_response(r.text, scope=self.scope)
  File "/usr/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 409, in parse_request_body_response
    self.token = parse_token_response(body, scope=scope)
  File "/usr/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 376, in parse_token_response
    validate_token_parameters(params)
  File "/usr/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 383, in validate_token_parameters
    raise_from_error(params.get('error'), params)
  File "/usr/lib/python2.7/site-packages/oauthlib/oauth2/rfc6749/errors.py", line 271, in raise_from_error
    raise cls(**kwargs)
InvalidClientError: (invalid_client) The client does not exist. If you are the application developer, configure a new application through the application management site at https://manage.dev.live.com/.

看起来没有应用程序的 ID 与重复性生成身份验证链接。但是,当我转到 duplicity 提供的链接时,我看到“Duplicity 正在请求权限”。

那么我应该添加自己的应用程序并以某种方式将其 id 提供给 duplicity 吗?(我正在寻找如何做到这一点但没有结果)或者它是一个重复的错误?

4

1 回答 1

1

与 Windows Live 的所有编程交互都需要一个客户端 ID,该 ID 将您的应用程序唯一标识到 Windows Live。您的应用程序必须在发送到 Messenger Connect API 服务的每个请求中包含客户端 ID。

您必须按照此官方 Windows Live 教程中所示注册您的应用程序: https ://msdn.microsoft.com/en-us/library/ff751474.aspx

然后将您的 ID 传递给应用程序,以便在向 API 询问时能够在执行时在 Windows Live 中进行身份验证。

您可以使用 https://github.com/fkalis/bash-onedrive-upload 中的代码,它还完全支持上传大小大于 100MB 的文件

于 2016-01-12T16:58:50.123 回答