我運行的是其用戶訪問的服務,用於生成隨後通過電子郵件發送給他們的PDF文檔。我正在探索另一種交付路線 - 直接在他們指定的Dropbox文件夾中彈出準備好的文檔。用於文件上傳的Dropbox核心API
經過一番研究後,我發現Dropbox API,然後與他們的「探險家」here玩。檢查它們生成的cURL以執行文件上傳,我發現它可以很容易地通過一個PHP來完成。創建一個新的應用程序後,我然後寫了一個小PHP腳本
$headers = array('Authorization: Bearer ul...',
'Content-Type: application/octet-stream',
'Dropbox-API-Arg: {"path":"/test.txt","mode":"add"}');
$data = 'Betty bought a bit of butter';
$ch = curl_init('https://content.dropboxapi.com/2-beta-2/files/upload/');
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
在運行該腳本一切工作只是完美 - 有問題的文件在我的Dropbox打開了在幾分之一秒。
所有非常好。但是,我與Dropbox的API我的頭幾分鐘,有很多,我不明白這裏
- 是我上面的盲目模仿他們的探險家樣本代碼做文件上傳正確的方式寫的代碼?
- 就我而言,我的服務的用戶必須向我提供一個有效的應用令牌,我可以在
Authorization:Bearer...
位以上使用。我假設這個令牌限制我只在其應用程序文件夾的範圍內工作?當然,他們不願意交出讓我用他們的Dropbox做什麼的令牌。 *不用說 - 這將取決於他們將「App」權限類型配置爲應用程序文件夾。
我更欣賞任何反饋我可以得到我的做法 - 尤其是在它的缺陷 - 從那些誰知道Dropbox的API比我