FileMaker から Slack にテキストを送信するケースを考える。
投稿文を記述したフィールドに改行や半角スペースが含まれるとうまくいかなかったので、これまで諦めていた。しかし以下のフォーラムでその解答を見つけた。Quote 関数を使えばいいようだ。
[解決] FileMakerからSlackへ通知を送信したいのですが、文字列に半角スペースが含まれると失敗します(URLから挿入・cURL・JSON) (ページ 1) / 初心者のFileMaker pro Q&A / 初心者のFileMaker pro Q&A
https://fm-aid.com/bbs2/viewtopic.php?id=11792
Quote
https://help.claris.com/archive/help/18/fmp/ja/index.html#page/FMP_Help/quote.html
では具体的なスクリプトを見てみよう。
環境:macOS Ventura 13.5(英語環境)、Claris FileMaker Pro 20.3.1.31
Set Variable [ $webhook_url ; Value: "{Slack の Webhook URL}" ]
Set Variable [ $text ; Value: "{投稿文のフィールド}" ]
Set Variable [ $channel ; Value: "{チャンネル名}" ]
Set Variable [ $username ; Value: "{任意の投稿者名}" ]
Set Variable [ $JSON ; Value: Quote ( JSONSetElement ( $JSON ; ["text"; $text ; JSONString]; ["channel"; $channel ; JSONString]; ["username"; $username ; JSONString] ) ) ]
Insert from URL [ Select ; With dialog: Off ; Target: $$Results ; $webhook_url ; cURL options: "-X POST -d " & $JSON ]
スクリプトの Set Variable [ $JSON ; 〜
の部分で Quote 関数を使っている。
投稿のアイコンを指定したければ JSON に icon_emoji を追加する。
Amazon.co.jp: FileMaker 2023 スーパーリファレンス Windows&macOS&iOS 対応 eBook : 野沢 直樹, 胡 正則: 本
https://amzn.to/49iuRiL