Python Dropbox API - 无效 "cursor" 参数

Python Dropbox API - Invalid "cursor" parameter

在 运行遇到 unicode 问题后,我一直在将一些 Python 2.7.11 代码迁移到 3.5.1。这是最后一根稻草 - 自从我开始使用 venv 模块以来,没有理由因为有人不喜欢 3 而使用 2.7!

尝试 运行 单向同步(即仅下载更改)时出现问题。

这是完整的错误消息,路径已缩短:

Traceback (most recent call last):
  File "%SCRIPT%.py", line 209, in <module>
    updated_schedules = dbx_sync.One_Way_Sync(config['Dropbox Parameters']['Directory'], config['Dropbox Parameters']['Base Path'])
  File "%COMMON_PATH%\modules\dropbox_sync_schedules.py", line 62, in One_Way_Sync
    result = client.delta(cursor, base_path)
  File "%COMMON_PATH%\env-home\lib\site-packages\dropbox\client.py", line 569, in delta
    return self.rest_client.POST(url, params, headers)
  File "%COMMON_PATH%\env-home\lib\site-packages\dropbox\rest.py", line 322, in POST
    return cls.IMPL.POST(*n, **kw)
  File "%COMMON_PATH%\env-home\lib\site-packages\dropbox\rest.py", line 260, in POST
    is_json_request=is_json_request)
  File "%COMMON_PATH%\env-home\lib\site-packages\dropbox\rest.py", line 235, in request
    raise ErrorResponse(r, r.read())
dropbox.rest.ErrorResponse: [400] 'Invalid "cursor" parameter: u"b\'\'"'

搜索 "invalid cursor parameter" 没有任何帮助,所以我想我会来这里。

u"b\'\'" 是这里的关键。我只是无法理解该表示如何最终作为字符串发送。

问题出在从文件中读取旧光标(在本例中为空):在 Python 2 我以 rb 模式打开文件 - 在 Python 3 只需 r 即可,一切正常。

万岁!