2016-03-21 7 views
0

Ich habe Datei in meinem onedrive. Wie ich sehen kann, erlaubt es einen Sharing-Link und einen eingebetteten Link. Sie können in einen direkten Download-Link konvertiert werden, indem der "resid" durch "download" ersetzt wird. Allerdings zwingt es "download dialog box" anstatt es direkt in den Browser zu zeigen. Kann ich die "Content-Disposition" aus den Download-Links entfernen, die ich erhalte?Erhalten Sie einen Download-Link einer Datei auf einem Laufwerk, ohne "Content-Disposition" in den Headern?

In Dropbox ist es möglich, dl = 0 zu verwenden. Aber es scheint keine Option für onedrive zu geben.

Antwort

0

Ich hoffe, das wird jemandem helfen.

Sie können die Metadaten api aufrufen.

Wenn die Anfrage erfolgreich ist, erhalten Sie eine Antwort wie unten. Die item-id ist Ihre Datei-ID

HTTP/1.1 200 OK 
Content-type: application/json 

{ 
    "id": "abc", 
    "name": "example.xlsx", 
    "eTag": "123918093j1lk2jlkda", 
    "cTag": "k1ml4klkasljasidj1l2j34lkaslz", 
    "createdBy": { "user": { "id": "1234", "displayName": "Ryan Gregg" } }, 
    "createdDateTime": "string (timestamp)", 
    "lastModifiedBy": { "user": { "id": "1234", "displayName": "Ryan Gregg" } }, 
    "lastModifiedDateTime": "string (timestamp)", 
    "size": 1234, 
    "webUrl": "http://onedrive.com/...", 
    "parentReference": { "driveId": "12345", "id": "root", "path": "/drive/root:" }, 
    "folder": { "childCount": 4 } 
} 

Die Antwort tatsächlich abgeschnitten wird. Aber Sie können diese API ausprobieren und erhalten alle Details in der Antwort. Um eine Datei herunterzuladen finden Sie eine

@content.downloadUrl in the response. 

click here for more details

0

Versuchen Sie zu Link zu holen für einbetten 'anstatt ‚view‘, es wird Ihnen eine einbetten Link. Nach dem Ersetzen von/Einbetten? mit '/download.aspx?' In dieser URL wird diese URL zur direkten Download-URL und führt Sie nicht zur Microsoft-Webseite. Ich weiß, das ist eine Hacky-Lösung, aber das ist nur die Lösung, die ich habe. Die obige Antwort von SK ist auch für einige existierende korrekt, jedoch ist DownloadUrl, das von Metadaten erhalten wurde, sehr schnell abgelaufen. Sie können also keine statische HTML-Seite einfügen.