4
1

More than 1 year has passed since last update.

【FileMaker】cURLでファイル内容をダウンロードする

Last updated at Posted at 2023-02-21

単純に、FileMakerのURL から挿入スクリプトステップを使って、サイトに公開されているページや、どこかのドライブに置いてあるファイルを取得(ダウンロード)する方法です。

この記事は、2部構成です。
今回は、単純にウェブ上にあるファイルをFileMakerへダウンロードします。
次回は、sftpをcurlから使ってファイルのダウンロードを行います。

実行環境

FileMaker Pro ver.19.6.3で実行していますが、cURLの扱えるようになったFileMaker Pro ver.16以上でお試しください。

curlがちょっと不安な方

こちらで、注意点をまとめています。
合わせてご覧ください。

サイトのページを拾ってくる

こちらは単純にcurlのオプション、"-O"を使ってサイトのhtmlをダウンロードします。
ここでは、sftpGetDataというテキストフィールドに指定したサイトのhtmlをダウンロードしました。
画面上部にある、sftpボタンにスクリプトステップを書いています。
スクリーンショット 2023-02-21 16.27.22.png
画面下には、取得したhtmlデータをWebビューアツールで表示しています。

curl文

curl -O <取得したいページのURL>

https以下のURLは、取得したいページです。
これを、FileMakerの"URL から挿入"に当てていきます。

URL から挿入

curl文同様、たった1行で解決できるの、さすがFileMakerですよね〜
スクリーンショット 2023-02-21 16.33.27.png

では、これをベースに違うこともやってみましょう。

ドライブのファイルの内容を取得する

ファイル自体をダウンロードするのではなく、内容を取得します。
今回は、Google DriveでWeb公開されているスプレッドシートを取得します。

前準備

Web公開

Google DriveのWeb公開は、「ファイル」→「共有」→「Web公開」でできます。
スクリーンショット 2023-02-21 16.41.22.png

できますが、ワールドワイドに公開されるので、パブリックデータ以外の、絶対もれちゃいかんデータはこの方法は使用できません。
個人情報漏洩だめ、絶対ダメ!!

他のユーザーと共有

使用範囲を限定したい場合は、「他のユーザーと共有」で「リンクを知っている全員」と共有する形もあります。
スクリーンショット 2023-02-21 16.57.03.png

ただし、こちらもURLが漏れた際のセキュリティ問題など考えることが多いので、あまりおすすめではありません。
一時的なデータの共有にとどめておいた方がいいと思います。
個人情報漏洩だめ、絶対ダメ!!

URL から挿入

上記URLを取得したら、先ほどの"URL から挿入"の、「URLを指定」で指定します。
そのほかは変わりありません。

Web公開

Web公開で取得したサンプルです。
スクリーンショット 2023-02-21 16.43.56.png
取得したhtmlデータは解析すればデータとして使えそうですが、Webビューアツールで表示すると文字が入り切らない場合もありますね。

他のユーザーと共有

他のユーザーと共有した場合です。
「お使いのブラウザのバージョンはサポートが終了しました」と表示されました。
サポート対象外のブラウザであることは、Web公開でも同じと思うのですが、何かが違うんでしょう。。。
スクリーンショット 2023-02-21 16.58.19.png
しかも、同じデータなのに、なぜか、Web公開とは違うhtmlが返ってきます。
cssが違うのかな?
スクリーンショット 2023-02-21 16.58.34.png

ファイルをダウンロードする

では、最後にファイル内容の取得ではなく、ファイル自身のダウンロードをしていきます。
cURL構文はさほど変わりはありません。
ファイル自信をダウンロードする先として、オブジェクトフィールドを用意しました。
スクリーンショット 2023-02-21 17.16.35.png

サイトページをダウンロードする

「サイトページを拾ってくる」と同じURLのサイトhtmlをダウンロードします。
違うのは、ターゲットのフィールドタイプです。
スクリーンショット 2023-02-21 17.21.13.png

これで実行すると、オブジェクトフィールド:sftpGetFileにファイル自身がダウンロードできます。
試しに、デスクトップなどにも出力して確認してみて下さい。
スクリーンショット 2023-02-21 17.15.22.png

ドライブのファイルをダウンロードする

先ほどと同じく、Google Driveのスプレッドシートでやってみましょう。
といいたいのですが、Google Driveの場合は、こちらの記事を参考にして、APIを使った方が一番手っ取り早いです。

ファイル自身をダウンロードして保存したい場合もありますよね?
curlでftpやsftpを指定してファイルをダウンロードする方法は、次の記事に続きます。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1