2017-05-15 29 views
0

Ich mache ein Python-Skript, um mp3-Dateien in meinem Musikordner in Dropbox hochzuladen, aber ich kann nicht herausfinden, wie es geht. Ich benutze Dropbox API und hier ist mein CodeDropbox API Hochladen mp3 Datei

import dropbox 
dbx = dropbox.Dropbox('*******') 
dbx.users_get_current_account() 

f = open('Channa Mereya.mp3', 'rb') 
dbx.files_upload(bytes(f.read()), 'Channa Mereya.mp3') 

aber ich habe den Fehler

dropbox.stone_validators.ValidationError: 'Channa Mereya.mp3' did not match pattern '(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)' 

Ich weiß nicht viel über regex Muster. Auch beim Lesen der API-Dokumentation, files_upload nimmt das erste Argument als Bytes, ich brauche nicht, warum es Bytes braucht.

Ich habe auch versucht, nur den Weg der MP3-Datei statt Öffnung passieren und das Bestehen der Datei wie

dbx.files_upload("/home/username/python projects/Channa Mereya.mp3", 'Channa Mereya.mp3') 

Hier Channa Mereya.mp3 ist eine mp3-Datei im selben Verzeichnis wie das Skript gespeichert

Antwort

0

Wenn Wenn Sie einen Dateipfad angeben, zu dem in Dropbox API v2 hochgeladen werden soll, sollte der Pfad eine führende "/" haben, um root zu identifizieren. Daher sollte der zweite Parameter files_upload wie '/Channa Mereya.mp3' aussehen.

Der Fehler zeigt an, dass Ihr Pfadwert 'Channa Mereya.mp3' nicht mit dem zulässigen Muster übereinstimmt, d. H. Es hat keinen führenden Schrägstrich.

Verwandte Themen