PHPを使ったファイルのダウンロードについて検討をしております。 検証をしており、DBに入っているファイルIDを使いGoogleDriveに接続しに行く作りとなっています。 手動で実行したところ、以下の結果画面が出力されました。 天気予報などの外部APIを実行し、テキストのデータは取得できたのですが、SPIRALのサイト・DBのPHPを使いAPIを使ってファイルをダウンロードできるのでしょうか? ご教授の程、よろしくお願いいたします。
<?php //登録されたレコードの値を取得する $record = $SPIRAL->getRecord(); //ファイルIDを取得する $fileId = $record ["item"]["fileId"]; //アクセストークンを作成 $apiKey = "googledriveへのアクセスキーを記載"; //urlを作成 $url = 'https://www.googleapis.com/drive/v3/files/' . $fileId ."?alt=media&access_token=" . $apiKey; //print_r ($url); // curlのセッションを初期化する $ch = curl_init(); // curlのオプションを設定する $options = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true ); curl_setopt_array($ch, $options); // curlを実行し、レスポンスデータを保存する $response = curl_exec($ch); //curl_exec($ch); print_r ($response);
コメント
現在ではAPIキー(アクセストークン)をURLに指定するのではなく、 ヘッダーに指定するようです。 また、ダウンロードしたファイルをスパイラル上でどの様にしたいのでしょうか。 ダウンロードしたファイルを確認した所バイナリデータでしたので そのバイナリデータをスパイラルv2のDBへ格納するサンプルプログラムを添付いたします。