cybozu developer network

カテゴリー内の他の記事

スペースのスレッドにアプリの集計データを投稿する

はじめに

2016年8月のアップデートにより追加される新機能「スペース内のスレッドへのコメント投稿」を使ったTipsをご紹介します。

追加されるREST APIの概要

この新機能のために追加されるREST APIは、リクエストボディでスペースIDとスレッドIDを指定することで、スレッドにコメントを投稿できるというものです。
投稿にはユーザーや組織/グループへのメンション、画像(ファイルキーによる指定)も含めることができます。

指定できるパラメータの詳細等は、こちらのページをご参照ください。

今回のシナリオのポイント

カンの鋭い方は機能名からピンと来たかもしれませんが、このREST APIでできるHTTP メソッドは現状、GETはなくPOSTのみです。

そこで、今回はこのAPIで実現できる、スレッドへの一方通行的な活用例を考えてみました。
具体的には、アプリ内のボタンを押すとアプリのデータを取得そして集計してスレッドに投稿するというものです。
百聞は一見にしかずということで、次の完成イメージをご覧ください。

完成イメージ

まずはアプリ側です。

一覧画面のヘッダーメニュースペースにある「本日の出来高をスレッドに投稿する!」ボタンを押すと…

(注:ダミーデータであり、実際のサイボウズへのお問い合わせ内容ではありません。)

後ほど、スレッド側の画面を確認してみます。

最新投稿で、アプリのレコード件数を集計したデータが投稿されています。

thread_post.png

 

事前準備

スレッド-アプリ連携の準備として、必要な手順はこちらです。

  1. kintone のポータル画面から、適当なスペースを作成します。スペースのIDを控えておきます。
  2. スペースから適当なスレッドを作成します。スレッドのIDを控えておきます。
  3. スペースからアプリを作成します。今回はアプリストアの「サポートFAQ」を使いました。
  4. アプリにレコードを登録します。

スペースIDとスレッドIDについては、kintoneスレッドをブラウザで閲覧した際のURLで確認でき、以下の例ではスペースIDは4、スレッドIDは5です。

アプリ側の作業では、今回はレコードの件数をカウントするだけなので、フィールドを自由に設定してOKです。
また、今回のTipsでは、レコード件数の作成日時を見て本日分と今月分をカウントするため、できれば作成日時が2日間以上にまたがるようなレコードを複数登録しましょう。

ちなみに、今回は投稿ボタンを押した後の確認画面をCybozu CDNにあるSweetAlertを利用して実装したため、「アプリの設定」画面でCDNのURLを指定するという手順も必要でした。developer networkのこちらの記事を参考にしてやってみましたので、カッコいい確認画面にしたい方はあわせてご確認ください!

サンプルプログラムと解説

サンプルプログラム(JavaScript)

サンプルプログラムの概要は以下のとおりです。

  1. ボタン作成
  2. ボタンクリック時の処理を以下ステップ3-5に記述
  3. 今月作成したすべてのレコード情報をREST APIで取得
  4. 上記レコードからさらに本日作成分をJavaScriptでカウントして変数に代入
  5. ステップ3とステップ4の内容をスレッドに投稿

プログラムの全体はこちらです。

新APIを使用している箇所

ここで、今回の新機能の部分にクローズアップしてみます。

  • 上のようにスペースIDとスレッドIDを指定してPOSTします。メンションに、組織コードとタイプを指定します。

その他のポイント

取得可能レコード件数について

  • REST APIの「query」パラメータで、何も指定しない場合、取得できるレコード件数の上限は100件です。
    「limit」オプションの指定で上限を拡大できますが、指定可能な最大値は500であるため、このサンプルプログラムで取得できる上限は500件です。APIドキュメントの説明はこちらです。

totalCountの使用

  • REST APIのリクエストパラメータ「totalCount」を「True」で指定することで、レコード件数を簡単にカウントすることができます。APIドキュメントの説明はこちらです。

本日作成件数の取得方法(例)

  • totalCountで今月作成件数はカウントできますが、今回はさらに本日分のカウントも取得したかったため、JavaScriptで上のようなfor文でのカウントアップにより取得しました。

使用したAPI

    1. イベントハンドラーを登録する
    2. レコード一覧画面の表示後イベント
    3. レコードの一括取得(クエリで条件を指定)
    4. スペースのスレッド内コメントの投稿
    5. メニューの上側の空白部分の要素を取得する

終わりに

新しく追加されたREST APIの活用方法を考えてご紹介しました。アプリとスレッドが連携することで、kintoneのコミュニケーションツールとしての使い方の幅がさらに広がりそうですね!

このTipsは、2016年8月版で確認したものになります。

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

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