Claris FileMaker のローカルファイルから Claris Connect を利用して Twitter と連携する:後編
はじめに
Claris の新サービス「Claris Connect」を FileMaker Cloud や FileMaker Server を介さずにローカルファイルから利用する方法の続きです。
後編では Claris FileMaker のフィールドの内容を投稿できるようにスクリプトを変更して見た目を整えます。
これまでの流れは以下から。
前編 — Claris FileMaker と Twitter の接点となる Webhooks を作成する
中編 — Webhooks と Twitter を接続して投稿を行う
スクリプトのおさらい
前編で書いたスクリプトの流れを見てみましょう。
[テキストを挿入]で変数($cURL)に作成した内容を[URL から挿入]の [cURLオプション]に指定して Webhook の URL に送信しています。
Webhook の cURL オプションを見直す
まずは投稿内容を含んでいる cURL オプション($cURL)の内容を見直していきます。
-X POST
-H "Content-Type: application/json"
-d "{\"tweet\":\"Tweet内容\"}"
以下の部分をフィールドの内容に変えることができれば、好きな内容を投稿できそうですね。
Tweet内容
ところが、[テキストを挿入]スクリプトステップを使っているのでフィールド内容を含めることができません。天才でもたまには間違うのだよ。
スクリプトステップを変更することもできますが、計算式に変えると「"」(ダブルクォート)の扱いが面倒そうなので変更はしません。
というわけで書き換えてみたのがこちらです。
-X POST
-H "Content-Type: application/json"
-d "{\"tweet\":\"__Tweet内容__"}"
元々の投稿内容に「_」(アンダーバー)を追加しました。
フィールドを作成する
前編でこんなことを書いています。
作成した Webhook の URL にリクエストを送るだけなので、フィールドなどはまだ作成しなくて良いです。
Oops!!!!これではフィールド内容を投稿できないではないか。凡愚め。
[ファイル]-[管理]-[データベース]から新しいフィールドを定義します。とりあえず2つくらい作っておきましょう。
・Tweet内容(テキスト)
・処理結果(テキスト)
それっぽくレイアウトしておきます。
ボタンも配置してありますが何も設定していません。
Substitute 関数でフィールド内容を反映する
次に[URL から挿入]スクリプトステップを見直していきます。
$cURL
変数だけなのを
Substitute ( $cURL ; "__Tweet内容__" ; ClarisConnect::Tweet内容 )
計算式に変えます。(テーブル名は読み替えて下さい)
Substitute 関数 によって「__Tweet内容__」がフィールドの内容に置き換えられます。色々と気にしなくても大丈夫です。「_」(アンダーバー)を付けることで置き換えの文字列が入力内容と被ることを防ぎます。ファビュラス!最初からすべて計算されていたのだよ。
せっかくフィールドを作ったので変数($result)に取得していた結果もフィールドに取得するように変更しましょう。
フィールドに入力して投稿する
フィールドに投稿する内容を入力してスクリプトを実行します。
投稿できました。
ボタン設定する前にスクリプトを少し調整していきます。
投稿前に入力中のレコードを確定します。
変数の確認のために入れていた[スクリプトの一時停止/続行]はフィールドに取得するように変更したので不要です。
投稿後にもレコードを確定しましょう。
スクリプトの調整ができたら配置してあったボタンに「ボタン設定」します。
投稿をすぐに確認したいという方は、ウィジェットを Web ビューアで配置すると便利です。
仕上がりはこんな感じです。Web ブラウザで見れば確認ができますから Web ビューアはなくてもO.K.です。
以上です。
少しでもお役に立てたら嬉しいです。
少しずつですが Claris FileMaker の情報を記事にしていきます。リクエストなどあれば以下から是非お願いします。
この記事が気に入ったらサポートをしてみませんか?