2015-08-12 5 views
8

habe ich versucht,wie Datei (jede Form) von Dropbox zum Download R mit

download.file('https://www.dropbox.com/s/r3asyvybozbizrm/Himalayas.jpg', 
       destfile="1.jpg", 
       method="auto") 

aber es gibt den HTML-Quellcode der Seite.

auch versucht, ein wenig RDROP

library(rdrop2) 
# please put in your key/secret 
drop_auth(new_usesr = FALSE, key=key, secret=secret, cache=T) 

und die Pop-up-Website berichtet:

Invalid redirect_uri: "http://localhost:1410": It must exactly match one of the redirect URIs you've pre-configured for your app (including the path). 

ich die URI Sache nicht sehr gut verstehen. Kann jemand empfehlen, ein Dokument zu lesen bitte ....

Ich lese einige Beiträge, aber die meisten von ihnen diskutieren, wie man Daten aus Excel-Dateien liest.

repmis funktionierte nur für Excel-Dateien zu lesen ...

library(repmis) 
repmis::source_DropboxData("test.csv", 
          "tcppj30pkluf5ko", 
          sep = ",", 
          header = F) 

Auch

versucht
library(RCurl) 
url='https://www.dropbox.com/s/tcppj30pkluf5ko/test.csv' 
x = getURL(url) 
read.csv(textConnection(x)) 

Und es hat nicht funktioniert ...

Jede Hilfe und Diskussion ist sehr geschätzt. Vielen Dank!

+0

Hallo Danke @ Pascal! Eigentlich habe ich ein bisschen davon müde - verstehe die URI nicht ...siehe Update in OP bitte –

Antwort

8

Das erste Problem ist, weil der Link https://www.dropbox.com/s/r3asyvybozbizrm/Himalayas.jpg auf eine Vorschau-Seite verweist, nicht den Dateiinhalt selbst, weshalb Sie den HTML-Code erhalten. Sie können Links ändern, wie dies obwohl auf den Dateiinhalt zu zeigen, wie hier gezeigt:

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

zB einen raw = 1 URL-Parameter hinzu:

https://www.dropbox.com/s/r3asyvybozbizrm/Himalayas.jpg?raw=1

Ihr Downloader brauchen Redirects zu folgen, damit das funktioniert.

Das zweite Problem besteht darin, dass Sie versuchen, einen Autorisierungsablauf für OAuth 2-Apps zu verwenden, bei dem alle Weiterleitungs-URIs vorab registriert werden müssen. Sie registrieren können URIs umleiten, in Ihrem Fall ist es http://localhost:1410, für Dropbox API-Anwendungen auf der Seite der App im App-Konsole:

https://www.dropbox.com/developers/apps

Weitere Informationen zu OAuth verwenden, können Sie auf die Dropbox API OAuth finden Sie im Leitfaden hier:

https://www.dropbox.com/developers/reference/oauthguide

+0

Vielen Dank @Greg! Ich habe "? Raw = 1" verwendet und der Download war erfolgreich. R zeigt 'Inhaltstyp 'image/jpeg' Länge 67704 Byte (66 KB) heruntergeladen 66 KB'. '67704' ist die korrekte Größe dieses Bildes. Aber die Eigenschaft des heruntergeladenen Bildes sagt '67,910 Bytes', und ich kann es nicht öffnen ... Irgendeine Idee, warum es so ist? Vielen Dank! –

+0

Wenn ich versuche, die rohe Version des Links über meinen Browser herunterzuladen, ergibt sich eine Datei mit 67.704 Byte, die ich erfolgreich öffnen kann. Ändert der Downloadcode aus irgendeinem Grund? Haben Sie versucht, die beiden Versionen zu unterscheiden, um zu sehen, was der Unterschied ist? – Greg

+0

Hallo @Greg danke für Ihre Hilfe. Ich kann es auch über den Browser herunterladen, habe es aber in Rstudio nicht geschafft. Welche zwei Versionen meinst du? Ich habe 'download.file ('https://www.dropbox.com/s/r3asyvybozbizrm/Himalayas.jpg?raw=1', destfile =" 1.jpg ", method =" auto ")' 'verwendet. Rstudio zeigt 'Inhaltstyp' image/jpeg 'Länge 67704 Bytes (66 KB) ', aber Rechtsklick auf Datei -> Eigenschaft zeigt' 67.910 Bytes', und ich kann das Bild nicht öffnen. Lass es mich bitte wissen. Danke ~ –

-1

ich benutze read.table(url("yourdropboxpubliclink")) zum Beispiel verwende ich diesen Link

stattder Verwendung, der Link auf Dropbox chared I verwenden https://dl.dropboxusercontent.com/u/15634209/histogram/foo.txt

und nicht-öffentlichen Link raw = 1 wird

arbeiten Es funktioniert gut für mich.

+1

Ihre Antwort ist nicht wirklich klar, vielleicht sollten Sie es bearbeiten, um expliziter zu sein. – olibiaz

+0

ist nicht nur nicht klar, es ist falsch ... –