Need to see if your shared folder is taking up space on your dropbox 👨💻? Find out how to check here.
Forum Discussion
Holzauge20
4 years agoExplorer | Level 4
Dropbox-Upload mit Python (API v2)
Der Dropbox-Upload per Python-Script Datei mit demRaspberry Pi über die Schnittstelle API v2 funktioniert plötzlich nicht mehr.
Hat jemand das gleiche Problem ?
Ich glaube, dass Sie da besser aufgehoben sind:
https://www.dropboxforum.com/t5/Developer-API/ct-p/101000041
20 Replies
Replies have been turned off for this discussion
- Holzauge204 years agoExplorer | Level 4
Irgendwas ist da schief gelaufen. Am besten, du beginnst noch mal von vorne. Ich gehe davon aus, dass du ein Dropbox-Konto hast. Dann gehe auf die developers-Seite und lösche die aktuelle App. Beginne jetzt von vorn; gehe in die App Console und dann auf "create app". Klicke „Scoped access“ und dann „App folder“ an. Gib der App einen Namen und klicke auf „create app“. Gehe jetzt auf Permissions und erteile unter Files und folders den Schreibzugriff. Jetzt wieder zurück zu Settings. Klicke auf Generated access token. Jetzt erscheint darunter das token als lange Zeichenkette. Kopiere das token auf die Anwendung in deinem Raspi. -
So habe ich es heute nochmals bei mir ausprobiert und es hat funktioniert. Noch ein Tipp: Du kannst die Kommunikation zwischen Raspi und Dropbox auch testen ohne eine Datei hochzuladen. Benutze folgendes script:
#!/usr/bin/python3db = dropbox.Dropbox(„token“)
print(„Account infos: “, db.users_get_current_account())
Wenn die Kommunikation funktioniert, werden Informationen des Accounts ausgegeben, ansonsten eine Fehlermeldung.
Viel Erfolg
- EibeGrabung4 years agoExplorer | Level 3Hi, erstmal danke für deine Geduld 😅. Das hochladen funktioniert bei mir prinzipiell eh, jedoch nur für ca 4h, da dürfte mein access token ablaufen, läuft dein access token nicht ab, bzw. beginnt er mit „Sl“ wenn nicht dann hast du noch die alten token die vergibt dropbox leider nicht mehr. Werde es aber trotzdem nochmal mit einer neuen app versuchen 👍
Danke auf jedenfall! - Holzauge204 years agoExplorer | Level 4
Ja, das heute generierte token beginnt mit "sl". Die 4 Stunden sind noch nicht abgelaufen. Das alte token nutze ich schon seit vielen Jahren. Bin gespannt, was jetzt passiert.
- Holzauge204 years agoExplorer | Level 4
Das habe ich auf youtube gefunden:
"No expiration" wäre dann die Lösung.
Auf meiner Seite wurde diese Möglichkeit aber nicht angezeigt.
- EibeGrabung4 years agoExplorer | Level 3Ja genau, das ging früher mal mittlerweile haben sie diese funktion leider entfernt. Es gibt einen weg wie man mit dem „app key“ und dem „app secret“ es zum laufen bringen kann, da weiß ich aber leider nicht wie.
- Holzauge204 years agoExplorer | Level 4
Du hast Recht. Mein token lebte nur 4 Studen. Vermutlich wird mein altes token auch irgendwann das gleiche Schicksal teilen. Ich werde die Sache im Auge behalten. Wenn ich näheres herausbekomme melde ich mich in jedem Fall.
Darf ich fragen, ob du dich schon länger mit dem Rasperry pi beschäftigst und welche Projekte du verfolgst?
- EibeGrabung4 years agoExplorer | Level 3
Also habe meinen Raspberry Pi jetzt seit ca einer Woche, versuche gerade posts von instagram runterzuladen und auf dropbox hoch. Den instagram teil hab ich schon. Aber mache das nur zum spaß.
- Holzauge204 years agoExplorer | Level 4
Hi, ich möchte mich nochmals kurz melden. Zwischenzeitlich habe ich mit verschiedenen scripts versucht, über den den OAuth-App-Autorisierungsablauf standardmäßige Dropbox-API-Zugriffstoken zu erhalten. Dies hat auch wunderbar funktioniert, aber auch hier handelt es sich um kurzlebige Zugriffstoken, die man schon (wie bereits von dir berichtet) an dem Präfik „sl“ erkennt. Nun habe ich begonnen, mich in die OAuth-Dokumentation einzulesen (sehr umfangreich). So wie ich das sehe, lässt sich die Sache nur per OAuth mit Aktualisierungstoken lösen. Um dies zu bewerkstelligen (vor allem, wenn der Aktualisierungsprozess automatisch ablaufen soll) wird man sich wohl tiefer in die Programmiertechnik einarbeiten müssen. Weiter bin ich noch nicht gekommen. Grüße
- Holzauge204 years agoExplorer | Level 4
Hi, ich habe einen Lösungsweg gefunden. Erstelle zunächst eine OAuth-App-Autorisierungs-URL um einen Autorisierungscode zu erhalten. Mit Autorisierungscode, app-key und app-secret startest du dann eine „curl-Eingabe“ Die Antwort ist ein Access-Token und ein Aktualisierungs-Token. Details hat Greg-DB in diesem Forum beschrieben.
Autorisierungs-URL:
curl-Eingabe:
curl https://api.dropbox.com/oauth2/token \
-d code=AUTHORIZATIONCODE \
-d grant_type=authorization_code \
-u APPKEY:APPSECRET
Nun hast du einen Aktualisierungs-Token und kannst ihn in dein script einfügen. Das kann z.B. so aussehen:
import dropbox
db = dropbox.Dropbox(
app_key = <APP_KEY>,
app_secret = <APP_SECRET>,
oauth2_refresh_token = <REFRESH_TOKEN>
Das Aktualisierungs-Token läuft nicht ab. Im Hintergrund werden automatisch neue kurzlebige Zugriffstoken erzeugt. Du musst die ganze Aktion also nur einmal machen.
Quelle:
Ich habe das o.a Prozedere bei mir erfolgreich getestet und denke, dass auch dein Problem so gelöst werden kann..
- Grüße
- Holzauge204 years agoExplorer | Level 4
Hi, ich habe einen Lösungsweg gefunden. Erstelle zunächst eine OAuth-App-Autorisierungs-URL um einen Autorisierungscode zu erhalten. Mit Autorisierungscode, app-key und app-secret startest du dann eine „curl-Eingabe“ Die Antwort ist ein Access-Token und ein Aktualisierungs-Token. Details hat Greg-DB in diesem Forum beschrieben.
Autorisierungs-URL:
curl-Eingabe:
curl https://api.dropbox.com/oauth2/token \
-d code=AUTHORIZATIONCODE \
-d grant_type=authorization_code \
-u APPKEY:APPSECRET
Nun hast du einen Aktualisierungs-Token und kannst ihn in dein script einfügen. Das kann z.B. so aussehen:
import dropbox
db = dropbox.Dropbox(
app_key = <APP_KEY>,
app_secret = <APP_SECRET>,
oauth2_refresh_token = <REFRESH_TOKEN>
Das Aktualisierungs-Token läuft nicht ab. Im Hintergrund werden automatisch neue kurzlebige Zugriffstoken erzeugt. Du musst die ganze Aktion also nur einmal machen.
Quelle:
Ich habe das o.a Prozedere bei mir erfolgreich getestet und denke, dass auch dein Problem so gelöst werden kann..
- Grüße
About Eine Frage stellen
Sie haben Fragen? Richten Sie sie an die Dropbox Community!
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X, Facebook or Instagram.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!