会社概要
サービス
特徴
システム
デザイン
制作例
デザイン支援
お客様の声
ブログ
他社紹介
採用情報
お問い合わせ
プライバシーポリシー
個人情報保護方針
品質方針
録音録画の取扱いについて
情報セキュリティ基本方針
ログイン

【API】FileMakerで祝祭日を判定し表示する機能を開発しました。

FileMakerでは祝祭日を判定できる関数がなく祝祭日を表示させるにはスクリプトで作成するか、カスタム関数で作成するしかありません。また、作成したとしても祝祭日は年によって異なったり変更したりするのでその都度変更しなければいけなく保守が大変になります。しかし、APIを使用し祝祭日を取得することによってそのような悩みが解決いたします。

1.はじめに

FileMakerでは祝祭日を判定できる関数がなく祝祭日を表示させるにはスクリプトで作成するか、カスタム関数で作成するしかありません。

また、作成したとしても祝祭日は年によって異なったり変更したりするのでその都度変更しなければいけなく保守が大変になります。
しかし、APIを使用し祝祭日を取得することによってそのような悩みが解決いたします。

2.APIとは

・APIとは

APIとは
「Application Programming Interface(アプリケーション プログラミング インターフェース)」
の略で、簡単に説明すると、
アプリケーションとアプリケーションをつなぐ
プログラミングという意味です。
今回はFileMakerと祝祭日を返してくれるアプリケーションをつなぎ合わせます。

3.APIの作成

手順⑴

・使用するAPIを検索

ではどのように作成しているのかを見ていきましょう。
まずは、祝祭日を返してくれるAPIを探しましょう。
Googleで 祝祭日 APIで探すといくつか表示されると思います。

では今回は一番上に表示された
Holidays JP API(日本の祝日API)
を使用してみましょう。

リンク
Holidays JP API(日本の祝日API)

https://holidays-jp.github.io/

開くとこのような画面が表示されます。
基本的にAPIにはリファレンスといったものが存在します。

リファレンスとは?

リファレンスとは様々な意味がありますが今回の場合は
説明書、マニュアルといった意味になります。
APIの内容、機能や仕様を網羅的に、解説したものを言います。
しかし、APIの中にはリファレンスが存在しないものもあります。

今回使用する祝祭日APIはリファレンスがありません。

しかし、このAPIはURLにアクセスするだけで使用できるものなので
一度この(https://holidays-jp.github.io/api/v1/date.json)URLを開いてみましょう。

すると過去一年から未来一年、計3年分の祝日のデータがJSON形式で表示されたと思います。

JSONとは?

JSONとはデータ形式の一つでキーと値でデータが作られています。
元々はJavaScriptで使用させることを想定し開発されたデータ構造なのでJavaScriptととても相性が良いですが利便性により様々な場面で使用されることがあります。

またAPIも元々はデータとしてXMLというマークアップ言語を使用していましたが現在はJSONでデータのやり取りをすることが多くなりました。 さて少し逸れてしまいましたが実際にこのAPIをFileMakerに組み込んでいきたいと思います

手順⑵

・ファイルの作成

まずはFileMakerファイルを作成し開きます。
スクリプトを作成し以下のスクリプトを作成してみましょう

これでAPIが完成しています。
このままスクリプトを実行することにより変数responseに先ほどのJSONデータが代入されます。
では実際に確認してみましょう

responseに先ほどのJSONが代入されました。

これで祝日のデータが取得できたので、
ここから指定した日にちが祝日かどうかを判断するシステムを
作成していきたいと思います。

方法は単純で、取得したJSONから指定した日付の祝日を取得します。
FileMakerには、JSONを作成したり、データを取得する関数が用意されているので
簡単に取得することができます。

今回は、取得したJSONデータから取得したいので
JSONGetElementという関数を使用していきます。

この関数は、JSONデータからキーを指定しその値を取得する関数です。

今回のJSONデータは、日付がキーになっています。
キーの日付は「YYYY-MM-DD」となっています。
しかしFileMakerでは、日付は「YYYY/MM/DD」で入力されます。
これだとフォーマットが違っているので、正しく取得することができません。

入力した日付がYYYY-MM-DDになるように変更しなければいけないことを覚えておきましょう。

まずは、入力できるフィールドを作成していきます。

日付を入力するフィールド
祝日を取得するフィールド
曜日を取得するフィールド

上記3つのフィールドを用意しました。

そしてレイアウト上に出します。

では、日付を入力したら祝日名と曜日が入るようにしていきます。

まず、JSONから祝日名を取得していきます。
そのために、「YYYY/MM/DD」を「YYYY-MM-DD」に変更して行きます。
そのためにはSubstituteという関数を使用します。

これは、特定の文字を特定の文字に変更することができる関数で、
今回は、「 / 」を「 – 」に変更します。
これでJSONから取得できる状態になりましたので、
先ほどのJSONGetElementを使用し、祝日名を取得して行きましょう。

これで祝日名が取得できるようになりました。
最後は、これをフィールドに代入し完了です!

4.まとめ

今回は簡単に祝日名だけを取得しましたが、
これを使用することにより、営業日を計算するなど、
様々な用途で活用することができます。
今回は関数を使用しているので、この機会に覚えてみてください。

また、すまいる顔では様々なAPIの連携を行っていますので、
「APIの連携が難しい」「Claris FileMakerでもっと効率的な作業がしたい!」
などなど、APIでお困りのことがございましたら、
どんなAPIでも連携いたします。一度ご相談下さい!

今回のファイルはこちらからダウンロードできます。

お問い合わせ

関連する情報

担当者

開発者

LET's GET SOCIAL