Python Dropbox API - 无效的“cursor”参数

时间:2016-06-21 18:18:59

标签: python dropbox-api

在遇到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\'\'"'

搜索“无效的游标参数”没有任何帮助,所以我以为我会来这里。

1 个答案:

答案 0 :(得分:0)

u"b\'\'"是关键所在。我只是无法理解这种表示最终是如何以字符串形式发送的。

问题在于从文件中读取旧游标(对于此示例为空):在Python 2中我以模式rb打开文件 - 在Python 3中只有r全部这是必需的,一切正常。

乌拉!