Donnerstag, 21. August 2014

Zugriff auf die Dropbox mit dem RaspberryPi

Anbei ein Hinweis auf die schöne Site von alex. Von dort ist auch dieser Tipp. Das Wichtigste habe ich hier übernommen und auf Deutsch übersetzt. Ich will mich ja nicht mit fremden Federn schmücken.

Als erstes benötigt man einen Dropbox-Account. 
- Den gibt es hier.

Dann kommt die Software von Andrea Fabrizi auf den Pi.
- Entweder direkt von GitHub, da findet Ihr auch eine ausführliche Anleitung,
- oder von der Linux-Ebene des Pi aus:
     cd ~
     git clone https://github.com/andreafabrizi/Dropbox-Uploader.git

Die Befehlszeile einfach markieren, mit <strg>+c kopieren und in der Terminalsitzung mit der rechten Maustaste klicken. Dann muss diese nicht abgetippt werden.

Dann in das neu erstellte Verzeichnis wechseln:
     cd Dropbox-Uploader

Nun muss auf der Dropbox eine APP installiert werden:
- Auf der Dropbox einloggen und dann diese Seite aufrufen: https://www.dropbox.com/developers/apps
- Dann "Create app" drücken:
- “Dropbox API app” auswählen,
- App mit “Files and datastores” definieren
- Als nächstes geht es um die Zugriffsrechte: "No" gibt vollen Zugriff auf die Dropbox.
- "All file types" gibt Zugriff auf alle Dateitypen.
-  Der App eine Namen geben und noch mal "Create app" drücken:
- Jetzt auf dem Pi ./dropbox_uploader.sh starten
- Das Programm fragt nun nach dem "App key:" und dem "App secret:". Beides von der inzwischen geöffneten Internetseite kopieren.
- Zugriffsrechte auswählen: "f" für Vollzugriff.
- Noch mal checken und mit "y" bestätigen.
- Es wird nun ein Token zur Identifikation angefordert. Dieses im Browser eingeben und "zulassen" drücken.
Hierzu die Zeile in der Terminalsitzung markieren, mit linker Maustaste kopieren und dann mit <strg>-v einfügen.
- Zum Schluss noch mal in der Terminalsitzung bestätigen.

Ausführen:
     /home/pi/Dropbox-Uploader/dropbox_uploader.sh upload /home/pi/dateiname dateiname
Lädt die Datei "dateiname" in das Root-Verzeichnis der Dropbox. Klappt auch mit dort eingerichteten Ordnern.

Oder als Programm in Python:

#!/usr/bin/env python3

from os import system

prog = "/home/pi/Dropbox-Uploader/dropbox_uploader.sh "
  # Pfad und Programmname
befehl = "upload"
  # Befehl an das Programm
von =  "/home/pi/blog.py"
  # Pfad und Dateiname auf dem Pi
nach = "blog.py"
  # Pfad und Dateiname auf der Dropbox

system(prog + befehl + " " + von + " " + nach)
  # Führt den Befehl auf der Systemebene aus

Weitere Befehle:
download, move, copy, mkdir ... mehr gibt es auf GitHub.