2016-04-18 6 views
0

Ich versuche jetzt, eine Funktion zu machen, mit der Benutzer auf den Link der Datei zum Download zugreifen können.Wie können Benutzer Dateien in Dropbox mit Ruby herunterladen?

Der native Link ist https://www.dropbox.com/home/Apps/ringle_records?preview=lesson_id_11%3Auser_id_5.mp3, aber es ist nur für den Administrator (sicher) zugänglich. Wenn ich einen Benutzer habe, der berechtigt ist, diesen Link zu kennen, dann würde ich gerne zulassen, dass dieser Benutzer auf eine Schaltfläche klickt, um die Datei herunterzuladen.

Ich bin irgendwie festgefahren, wenn es um die Implementierung geht. Wenn ich den unten stehenden Code verwende, scheint er Daten auf dem Server zu speichern.

def self.dropbox_download 
    contents, metadata = Drop_client.get_file_and_metadata('/lesson_id_12:user_id_7.mp3.mp3') 
    begin 
     File.open('filename.mp3', 'wb') do |file| 
     file.write(contents) 
     end 
    rescue 
    end 
    end 

Ich mag Benutzer macht etwas und die „mp3“ Datei heruntergeladen werden klicken, aber ich glaube nicht, der obige Code auf diese Weise funktioniert.

Bitte schießen Sie eine Meinung! Ich freue mich darauf zu sehen!

Beste

Antwort

0

Wenn Sie nur andere Benutzer zu ermöglichen, müssen diese bestimmte Datei (oder eine bestimmte Gruppe von Dateien) zum Download, der einfachste Weg ist, einfach einen gemeinsamer Link zu der entsprechenden Datei zu erhalten (s):

https://www.dropbox.com/help/167

Sie können diese gemeinsamen Verbindungen für unterschiedliche Verhaltensweisen, zum Beispiel für Datei-Downloads ändern, wie hier gezeigt:

https://www.dropbox.com/help/201

Wenn Sie programmatisch diese Links bekommen müssen, können Sie die shares Methode verwenden:

https://dropbox.github.io/dropbox-sdk-ruby/api-docs/v1.6.4/DropboxClient.html#method-i-shares

Sie können dann auf dem freigegebenen Link an den Benutzer geben, zum Beispiel als Link auf einer Webseite, oder in einer E-Mail usw.

+0

Es funktioniert! Ich werde die dritte Option nehmen, die Sie hier setzen. Wann immer Benutzer abfragen, lade ich den URL-Link für den Benutzer neu! (: Vielen Dank! –