2016-06-21 6 views
0

Ich habe einige Python 2.7.11 Code auf 3.5.1 migriert, nachdem ich Probleme mit Unicode hatte. Das war der letzte Strohhalm - seit ich das Venv Modul benutze, gibt es keinen Grund mehr, auf 2.7 zu sein, nur weil jemand 3 nicht mag!Python Dropbox API - Ungültiger "cursor" Parameter

Das Problem tritt auf, wenn versucht wird, eine unidirektionale Synchronisierung auszuführen (dh nur Änderungen herunterladen).

Hier ist die vollständige Fehlermeldung, Wege verkürzt:

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\'\'"' 

für „ungültig Cursor Parameter“ Auf der Suche war keine Hilfe, so dass ich dachte, dass ich hierher kommen würde.

Antwort

0

u"b\'\'" ist der Schlüssel hier. Ich konnte einfach nicht verstehen, wie diese Darstellung als String gesendet wurde.

Das Problem war beim Lesen des alten Cursors aus einer Datei (die für dieses Beispiel leer ist): In Python 2 hatte ich die Datei im Modus geöffnet - in Python 3 ist nur r ist alles, was erforderlich ist, und alles funktioniert.

Hurra!