Claris Connect は FileMaker の日本語ファイル名に対応しているか検証

# はじめに
## 対象読者
* [Claris FileMaker](https://www.claris.com/ja/filemaker/) ユーザー
* [Claris Connect](https://www.claris.com/ja/connect/) 使ってみようかなと思っている人
* 以下記事を読んで来られた方
  * [Claris Connect を初めて使ってみる～時間をトリガーにFileMakerファイルへレコード作成](https://qiita.com/Hi_Noguchi/items/6757e15fd586db415e4a)

## 検証環境
* FileMaker Server 19
  * Windows Server 2016
  * GCP 上の GCE インスタンス

## この記事で分かること
* Claris Connect で FileMaker Server にホストされている日本語名のファイルを URL エンコードなしにいけるかどうか
  * 結論：いける
* `Create record` で日付型のフィールドには値を入力できないっぽい

## 前提
* 競合サービスの [n8n](https://n8n.io/) は URL エンコードしないとダメ。それが使い勝手の悪さに繋がってしまっている

# 検証
## フロー作成
* 新規 flow 作成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/26de50ee-0703-78f1-e44b-3e65a1900a2b.png)

* トリガー設定。ひとまずわかりやすく schedule で

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/2a7d8d84-b9cc-5b46-681b-387af3d0e948.png)

### アクション設定
* アクション設定……しようとすると Your Apps というので Claris FileMaker Server が出てくる。これは、[前回記事](https://qiita.com/Hi_Noguchi/items/6757e15fd586db415e4a) で一度設定したからここに出てくるもよう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/2a0684b2-a9aa-76ad-f83f-b3d9fbba8136.png)

* これを選んで進める。とりあえず `Create record` で

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/30528b08-8547-e4ff-33fc-5512e4c52d90.png)


## ファイルの指定

* 進めると、[前回記事](https://qiita.com/Hi_Noguchi/items/6757e15fd586db415e4a) で作成したものが残っている。分かりづらいけれど、名前を変えられるらしいので、識別しやすくするために `C_sql` という実際のファイル名に書き換えておいた

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/de7e3ab2-1a07-99fa-c9da-83a0572f252b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/1e101e55-b009-4b86-20b6-ad4c452b55a0.png)

* `Connect New Claris FileMaker Server Account` を押して新たに設定をする。以下のようにファイル名の指定が日本語で通ればヨシ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/78699eaf-785e-b598-9590-c98ea374754d.png)

* 通った！！　しかし、この後で正しく実行されるかどうかはまだ油断できない。識別しやすいように名前を変えておく
  * デフォルトの名前が `FileMaker Server 18v3 account` ってなっているのは、これ、もしかしてソースコード上でテキスト直書きされているのでは🤔
  * ここの並び順、作成順にしかならないようだけれど、ソートできるとよいなあ……あるいは最低限、名前昇順にできれば

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/876dc351-8c4e-89bc-6144-217e579b4a01.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/ce77762f-afe9-e77d-ef88-78b513153c44.png)

* 次へ進んでレイアウト指定のところで……ちゃんと選べる！　正しく接続しにいけている様子です！　エライ！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/bee0ed9e-d0b1-2f9b-b601-cc2ae8dcfec2.png)

* さらにレイアウトを指定すると、フィールドに何を入れるかというのを指定できるように。ほう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/d0222496-55d3-f138-18a9-42ea1ba844a0.png)

* 試しに `備考` というフィールドに値を入力してみようとする。トリガーからの引数を受け取れるよう。ほう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/cf04c145-cc7b-317d-ff3d-c9a339a93678.png)

* schedule トリガーからは実行タイムスタンプを受け取るようにしてみた

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/32f8d48b-a931-8c7b-3b17-26dfb7b7f0e0.png)

## テスト

* `Review and Test` を押して Test 実行してみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/e3d521d4-2011-7c32-db9d-1da2f646f072.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/ea495f5b-15b6-fd55-50d4-e8911eef9632.png)

* 500 エラー！　そしてエラーの中身がない😢

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/3ca8e1bd-b0de-bcdf-4092-8f77f0d873ef.png)

* 何となく予想はついたけれど、フィールド定義の制約にひっかかったっぽいです。そういうエラーを返して欲しい

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/94834ba4-aedf-0da8-5d07-75db15dbc538.png)

* というわけで日付の値を入力指定。形式は以下のよう。そしてフィールドの型判定までしてくれているんですね

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/5f35c2eb-d6de-0a18-74eb-90c63f3c5219.png)

* 再度実行。500 エラー！　うーん😇

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/72ff6dee-aa9e-614e-93d9-6bd86a772f1a.png)

* Review 画面を見ていると……あれ、勝手に時刻が補完されてタイムスタンプ形式にされている？　これのせい？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/d5da4bee-f109-02b1-f36b-7ce5d8337ca7.png)

* たとえば `2027/05/17` という値を試しに直接入力してみると…… Review したときには勝手に値が謎に置換される。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/cc80291a-afd1-1a20-2a8d-c9e1cb549f47.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/2c950377-6913-6fa7-123a-391ecc015467.png)

* 試しに `空欄不可` `ユニーク` の制約を外して実行してみたら 200 OK が返ってきた！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/37e47c64-de4a-4208-4df9-8140a4b5f331.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/378cb008-e62e-1dae-f1fb-3c89460b9bab.png)


* 空レコードが作成されていました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37739/3c47a6c9-e8fb-6f91-dee4-a6420d3cd140.png)


# おわりに
## この記事で分かったこと
* Claris Connect で FileMaker Server にホストされている日本語名のファイルを URL エンコードなしにいけるかどうか
  * 結論：いける
* `Create record` で日付型のフィールドには値を入力できないっぽい
* 以下のような条件で 500 エラーが返ってくるけれど、エラーの中身が何も返されずに不明。デバッグがつらそう
  * フィールドの型に合わずに値を入力できないとき
  * フィールド制約に違反していてレコードが作成できないとき

## 感想
* 日本語ファイル名でも問題なく使えるというのは、強力で良いなーと思いました！🙌
* 一方で、日付型なのにタイムスタンプで値を入れようとしてしまうところとか、エラーが正しく返されないところとか、まだまだ作りの甘い部分が散見されたので、使う時には要注意！　今後の改善を望みます！