1

私の Dropbox で利用可能な PDF ファイルをダウンロードするために私のウェブサイトが使用しているコードは次のとおりです。

        $url = 'https://www.dropbox.com/s/abctokenKeyxyz/test.pdf?dl=1';
        $fullpath = '/path/to/dest/';
        $ch = curl_init($url);
        $fp = fopen($fullpath, 'w');
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 1);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
        curl_setopt($ch, CURLOPT_FILE, $fp);
        $rawdata = curl_exec($ch);
        curl_close($ch);

        fwrite($fp, $rawdata);
        fclose($fp);

昨日の夜までは問題なく動作していました。しかし、突然「404 - ページが見つかりませんエラー」がダウンロード ファイル内に表示されるようになりました。ファイルはドロップボックスで引き続き利用でき、権限は変更していません。リダイレクト オプションを php curl に追加しましたが、役に立ちません。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

404 - page not found エラーが印刷された PDF ファイルを取得しています。シンプルな Linux シェル コマンドを実行すると、curl -L -o test-pdf.pdf https://www.dropbox.com/s/abctokenKeyxyz/test.pdf?dl=1問題なく動作します。

さて、今私は Dropbox API を使用してサーバーからファイルを取得し、それをサーバーに保存しようとしています。しかし、私が直面しなければならない主な課題は、「Dropbox 共有 URL」しか持っていないことです。共有 URL を使用するだけで、API を使用して Dropbox からサーバーにファイルをダウンロードする方法はありますか? または、OAuth 2.0 キーと Dropbox ファイル共有 URL を渡すだけで、php curl を使用してドロップボックス ファイルをダウンロードできますか?

助けてくれてありがとう!

4

0 に答える 0