Wie erhalte ich in Office 365 einen direkten Download-Link für ein Excel-Dokument, das in One Drive for Business gespeichert ist?

7

Mein Unternehmen verwendet Office 365 mit OneDrive. Ich habe dort eine Excel-Datei hochgeladen und über "Gastlink" geteilt.

Ist es möglich, einen Link zu generieren, über den jemand die Datei ohne weitere Authentifizierung herunterladen kann?

Für Automatisierungszwecke denke ich an ein einfaches Schema:

 wget https://acmeamce.sharepoint.com/personal/myname/.../blabla.xlsx
GrzegorzOledzki
quelle

Antworten:

6

Dank der Erkenntnis, dass OneDrive for Business tatsächlich ein umbenannter Sharepoint 2013 und eine Antwort in Sharepoint @ SE ist, konnte ich einen Link zum programmgesteuerten Herunterladen eines Dokuments erhalten.

Eine Möglichkeit besteht darin, mit der rechten Maustaste auf das Dokument in der Web-GUI zu klicken und die URL dort zu übernehmen. Es hat bei mir nicht funktioniert, da diese URL eine Authentifizierung erfordert, aber ...

Nehmen Sie das Präfix der URL, z

 https://acmeacme.sharepoint.com/personal/myname/_layouts/15/download.aspx?SourceUrl=

und die "übliche" URL, die als Gastlink generiert wurde

 https://acmacme.sharepoint.com/personal/myname/_layouts/15/guestaccess.aspx?guestaccesstoken=123123%3d&docid=123123

und das Verketten stellte sich als Zauber heraus:

wget https://acmeacme.sharepoint.com/personal/myname/_layouts/15/download.aspx?SourceUrl=https://acmacme.sharepoint.com/personal/myname/_layouts/15/guestaccess.aspx?guestaccesstoken=123123%3d&docid=12312
GrzegorzOledzki
quelle
1
+1 für eine kreative, durchdachte und hackige Lösung.
So
Wie lange hält dieser Token? Scheint nicht sehr sicher zu sein! Zumindest sehe ich, dass sie HSTS haben, sonst wäre es sehr einfach, Token zu sammeln. ssllabs.com/ssltest/analyze.html?d=onedrive.com
Nemo
Für diejenigen, die diese Antwort später finden, wie ich, hat das Zugriffstoken einen konfigurierbaren Ablauf. Wenn der Link generiert wird, können Sie zwischen "Nie" oder einer bestimmten Zeitspanne (z. B. 1 Tag, 30 Tage, 60 Tage oder einen benutzerdefinierten Zeitrahmen) wählen, bis der Link (Gastzugriffstoken) abläuft. (@nemo)
Jeffrey Hyer
4

Ich musste lediglich den Link Bearbeiten leicht ändern. Ersetzen Sie einfach guestaccess.aspxmit download.aspx.

wilsjd
quelle
2

Um diesen Thread zu ergänzen (der mich in die richtige Richtung gelenkt hat - danke!), Erhielt ich beim Versuch, wie oben beschrieben, eine 403 FORBIDDEN-Nachricht beim Herunterladen und eine Office 365-Anmeldung beim Einfügen in einen Browser.

Zum Auflösen habe ich den guestaccesstoken = ... Teil der zweiten URL kopiert und ihn auch zu einem Parameter der ersten URL gemacht.

Dies authentifizierte sich dann gut und der Download funktionierte ein Vergnügen.

Vielen Dank! Steve

Steve Dark
quelle