単純に、FileMakerのURL から挿入スクリプトステップを使って、サイトに公開されているページや、どこかのドライブに置いてあるファイルを取得(ダウンロード)する方法です。
この記事は、2部構成です。
今回は、単純にウェブ上にあるファイルをFileMakerへダウンロードします。
次回は、sftpをcurlから使ってファイルのダウンロードを行います。
実行環境
FileMaker Pro ver.19.6.3で実行していますが、cURLの扱えるようになったFileMaker Pro ver.16以上でお試しください。
curlがちょっと不安な方
こちらで、注意点をまとめています。
合わせてご覧ください。
サイトのページを拾ってくる
こちらは単純にcurlのオプション、"-O"を使ってサイトのhtmlをダウンロードします。
ここでは、sftpGetDataというテキストフィールドに指定したサイトのhtmlをダウンロードしました。
画面上部にある、sftpボタンにスクリプトステップを書いています。
画面下には、取得したhtmlデータをWebビューアツールで表示しています。
curl文
curl -O <取得したいページのURL>
https以下のURLは、取得したいページです。
これを、FileMakerの"URL から挿入"に当てていきます。
URL から挿入
curl文同様、たった1行で解決できるの、さすがFileMakerですよね〜
では、これをベースに違うこともやってみましょう。
ドライブのファイルの内容を取得する
ファイル自体をダウンロードするのではなく、内容を取得します。
今回は、Google DriveでWeb公開されているスプレッドシートを取得します。
前準備
Web公開
Google DriveのWeb公開は、「ファイル」→「共有」→「Web公開」でできます。
できますが、ワールドワイドに公開されるので、パブリックデータ以外の、絶対もれちゃいかんデータはこの方法は使用できません。
個人情報漏洩だめ、絶対ダメ!!
他のユーザーと共有
使用範囲を限定したい場合は、「他のユーザーと共有」で「リンクを知っている全員」と共有する形もあります。
ただし、こちらもURLが漏れた際のセキュリティ問題など考えることが多いので、あまりおすすめではありません。
一時的なデータの共有にとどめておいた方がいいと思います。
個人情報漏洩だめ、絶対ダメ!!
URL から挿入
上記URLを取得したら、先ほどの"URL から挿入"の、「URLを指定」で指定します。
そのほかは変わりありません。
Web公開
Web公開で取得したサンプルです。
取得したhtmlデータは解析すればデータとして使えそうですが、Webビューアツールで表示すると文字が入り切らない場合もありますね。
他のユーザーと共有
他のユーザーと共有した場合です。
「お使いのブラウザのバージョンはサポートが終了しました」と表示されました。
サポート対象外のブラウザであることは、Web公開でも同じと思うのですが、何かが違うんでしょう。。。
しかも、同じデータなのに、なぜか、Web公開とは違うhtmlが返ってきます。
cssが違うのかな?
ファイルをダウンロードする
では、最後にファイル内容の取得ではなく、ファイル自身のダウンロードをしていきます。
cURL構文はさほど変わりはありません。
ファイル自信をダウンロードする先として、オブジェクトフィールドを用意しました。
サイトページをダウンロードする
「サイトページを拾ってくる」と同じURLのサイトhtmlをダウンロードします。
違うのは、ターゲットのフィールドタイプです。
これで実行すると、オブジェクトフィールド:sftpGetFileにファイル自身がダウンロードできます。
試しに、デスクトップなどにも出力して確認してみて下さい。
ドライブのファイルをダウンロードする
先ほどと同じく、Google Driveのスプレッドシートでやってみましょう。
といいたいのですが、Google Driveの場合は、こちらの記事を参考にして、APIを使った方が一番手っ取り早いです。
ファイル自身をダウンロードして保存したい場合もありますよね?
curlでftpやsftpを指定してファイルをダウンロードする方法は、次の記事に続きます。