我正在開發一個使用PHP,Dropbox API和Box API的Web應用程序。 我已經有一個訪問令牌來使用這些API。帶有訪問令牌的Dropbox/Box API直接下載文件
我的需求是: 1.直接從Dropbox的/盒服務器 2.下載文件而不被用戶在瀏覽器 3.認證而不必共享的DropBox /箱文件
其實,我在我的服務器上有一個PHP腳本,它在文件url上創建一個Curl,並在授權標頭中傳遞訪問令牌。它可以工作,但在大文件上,我的腳本由於內存限制而失敗(當用戶在瀏覽器中下載文件時,Curl正在將文件存儲在內存中)。
<?php
header("Content-Type: application/octet-stream; charset=UTF-8");
header('Content-Disposition: attachment;filename="' . $filename . '";filename*=UTF-8\'\'' . urlencode($filename));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $downloadUrl);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_exec($ch);
curl_close($ch);
?>
出於某些隱私原因,我無法在我的網絡服務器上存儲臨時文件。 出於一些用戶友好的原因,我不想用Ajax請求下載文件。
...我已經尋找在Dropbox和箱API直接下載鏈接,但似乎沒有什麼可...
可我嘗試有什麼解決辦法?
我只需要添加此授權頭,但它讓我瘋了...
注: 對於谷歌驅動器,我們就可以直接令牌傳遞訪問的文件下載網址,以便它的偉大工程。 對於OneDrive,Microsoft爲我們提供了一個直接下載鏈接
關於API第2版,見我的答覆在:https://stackoverflow.com/a/45190200/2603965 – grebulon 2017-07-19 12:12:53