DataSpider Servista 3.1 Service Pack 3 「kintone アダプタ フェーズ 2」のご紹介

Avatar
dstn


こんにちは。
開発部の田中です。

今回は、DataSpider Servista 3.1 SP3 における、「kintone アダプタ」のアップデートについてのご紹介です!

kintone アダプタ フェーズ 2


3.1 SP3 で kintone アダプタに実装された機能は以下の通りです。

  • kintone API 呼び出しオペレーション
  • マルチバイト文字のログイン ID 対応
  • プロパティ設定画面のフィールド一覧で、サブテーブル中のフィールドのみにチェックを入れてもスキーマに反映される
  • プロパティ設定画面のフィールド一覧で、フィールドが所属するサブテーブル名を表示する
  • 添付ファイルフィールド対応


これらの機能追加に関連する一連のプロジェクトを、社内では「kintone アダプタ フェーズ 2」と呼んでいました。

以下では、追加された各機能の詳細について紹介していきます。

kintone API 呼び出しオペレーション


kintone アダプタでは、レコードを取得したり、更新したりするために、kintone API を使用しています。
この kintone API には、単純なレコードの操作用の API 以外にも、さまざまな API が用意されています。たとえば、「フォーム設計情報取得」や、「スペース情報の取得」などの API が用意されています。

kintone アダプタの、API 呼び出しオペレーションを使用するためのグローバルリソースは、今までの「kintone 接続設定」ではなく、新しく追加された、「kintone API 接続設定」です。

アイコンはこちらです。

operation.api_call

たとえば、「フォーム設計情報取得」 API を使用する場合、デザイナのツールパレットの [クラウド] - [kintone] の中に [API 呼び出し] というオペレーションがありますので、こちらをスクリプトキャンバスにドラッグ・アンド・ドロップします。

「フォーム設計情報取得」 API を kintone API のページ ( https://cybozudev.zendesk.com/hc/ja/categories/200147600) から調べると、リクエストパラメータとして、アプリの ID を送信する必要があることがわかります。

なので、Mapper を使用して、API 呼び出しオペレーションに、アプリ ID を渡すように設定します。

kintone_api_mapper

そして実行すると、次のようなデータが取得できます! 


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
<properties>
<element>
<code><![CDATA[文字列__1行_]]></code>
<defaultValue/>
<expression/>
<hideExpression><![CDATA[false]]></hideExpression>
<label><![CDATA[会社名]]></label>
<maxLength><![CDATA[null]]></maxLength>
<minLength><![CDATA[null]]></minLength>
<noLabel><![CDATA[false]]></noLabel>
<required><![CDATA[false]]></required>
<type><![CDATA[SINGLE_LINE_TEXT]]></type>
<unique><![CDATA[false]]></unique>
</element>
<!-- 以下、同じようにフォームの要素が出力されます。-->
</properties>
</root>


ほかにも、スペースへのゲストユーザーの追加や、レコードのアクセス権の更新など、様々なことができますので、ぜひお試しください!

プロパティ設定画面のフィールド一覧での、サブテーブルの扱い


フィールド一覧のサブテーブルの扱いに関しては、2 つアップデートがあります。
1 つは、フィールドがサブテーブルに所属する場合、所属するサブテーブルを表示するカラムを設けたことです。

フィールド一覧

今まで、「サブテーブルに含む」というカラムだったものが、「サブテーブル」というカラムに変わっています。
これによって、一つのスキーマに複数のサブテーブルが存在するような場合に、フィールドがどのサブテーブルに所属しているのかがわかりやすくなると思います。

もう 1 つは、フィールド一覧の、サブテーブルにチェックをいれずに、サブテーブルに含まれるフィールドのみにチェックを入れても、チェックを入れたフィールドをスキーマに反映する、というものです。
たとえば下図のように、サブテーブル自体のチェックを外し、サブテーブルに含まれるフィールドのみにチェックを入れます。

フィールド一覧_サブテーブルチェックなし

そして Mapper を覗いてみると、

スキーマ_サブテーブル

レコード取得オペレーションの出力スキーマには、サブテーブルと、サブテーブルに含まれるフィールドが表示されています。
サブテーブルのフィールドのうち、いずれかのみが必須フィールドであるような場合、そのフィールドだけを更新することができるようになりました。

添付ファイルフィールド対応


最後は、添付ファイルの取得についてです。

kintone API には、「ファイルダウンロード」「ファイルアップロード」という API が用意されており、これを使用することで、添付ファイルのダウンロード / アップロードができます。

kintone アダプタ フェーズ 2 開発当初、ファイルダウンロード / アップロード用のオペレーションを用意しようかという話がありました。
ですが、使い勝手を考えると、レコード取得時などに、同時に添付ファイルが取得できたほうが便利で、直感的ですよね。
というわけで、kintone の添付ファイルフィールド型が、フィールド一覧に表示されるようになりました。

レコード取得オペレーションで、添付ファイルをダウンロードするには、次のようにします。

  1. フィールド一覧で添付ファイル型のフィールドにチェックを入れます。
  2. プロパティ設定画面の「添付ファイル」タブを選択します。
  3. 「添付ファイルをダウンロードする」チェックボックスにチェックを入れます。
  4. 適当な添付ファイルの出力方法を選択します。
  5. ダウンロード先ディレクトリのパスを指定します。


「添付ファイル」タブではこのように設定してみました。

添付ファイルタブ_

まずは、ファイル形式でダウンロードしてみます。
kintone アプリにはあらかじめ、「ダウンロードサンプル.txt」というテキストファイルをアップロードしておきます。

それでは実行してみます。
エクスプローラから確認してみると、

エクスプローラ_添付ファイル

添付ファイルがダウンロードできています。

添付ファイルの出力先は、[ダウンロード先ディレクトリ]/ <レコードid> / <フィールドコード> / <ファイルキー> / <添付ファイル名> になります。
今回は、添付ファイルの出力方法として「ファイル」を選択しましたが、この場合、Mapper でスキーマを覗いてみると、次のようになっていることが分かります。

スキーマ_ファイルとしてダウンロード

上の図の path フィールドに、ダウンロード先のパスが出力されます。
次に、添付ファイルの出力方法に、「データ(Base64)」を選択した場合、スキーマは以下のようになります。

スキーマ_Base64

先ほど、添付ファイルの出力方法に「ファイル」を選択した場合と異なり、「path」フィールドが、「content」フィールドになります。
この「content」フィールドに、ファイルの中身が出力されます。

まとめ


いかがでしたでしょうか。
「kintone アダプタ フェーズ 2」でのアップデートついて、ご理解いただけたましたでしょうか。

kintone アダプタはこれからもっと進化していけるアダプタだと思います。  
皆様からのご意見・ご感想をお待ちしております!

コメント

ログインしてコメントを残してください。

Powered by Zendesk