10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kintoneAdvent Calendar 2024

Day 3

iPhoneからREST APIでkintoneにレコード登録する

Last updated at Posted at 2024-12-02

◇はじめに

本記事は、「kintone Advent Calendar 2024」の3日目の記事です。

先日はADVENTARのkintoneアドカレに記事を載せましたが、続いて今回はQiitaアドカレでも記事を書いていきます。

今回はkintoneのレコードを外部から制御できる kintone REST APIをiPhoneショートカットを使って呼び出してみるという記事です。

◇環境等

  • 使用デバイス
    • iPhone SE3
      • OS:iOS18.1
    • WindowsPC
      • Windows11
  • 使用アプリ
    • ショートカットアプリ
  • 使用ツール・サービス
    • Edge
    • kintone(PCブラウザ経由)
    • Postman

◇最終的にできたもの

iPhoneショートカットをタップして、名前を入力すると、kintoneアプリ上に入力したデータをレコードとして追加できます。
モバイル版kintoneアプリを使用せずにREST APIを使ってレコードを登録する形になります。

◇実装手順

  1. レコード登録用のkintoneアプリの作成
  2. REST API用のトークン発行
  3. Postmanを使ったREST APIの動作確認
  4. iPhoneショートカットの作成

の順で記載していきます。

記事書いてから気づきましたが、kintoneの公式ドキュメントで上記の1~3までを行った記事が公開されていました。
自分が書いた部分は今更消すのもあれなので、そのまま記載しています。
適宜公式の記事も参照ください。

kintoneアプリ登録

まずはレコード登録用のkintoneアプリを作成します。
なお、kintoneは開発者向けのkintone開発者ライセンス(12か月間利用可能)やお試しライセンス(30日間利用可能)があるため、契約をしなくてもアプリ作成を試せます。
※今回作成したアプリもkintone開発者ライセンスでつくってます

作成したライセンスでkintoneにログインしたら、アプリの作成を行います。
なお、ユーザーの追加やスペースの追加方法については、公式サイトやヘルプサイトにたくさん情報があるため、詳細は割愛します。

ポータル上からアプリを作成アイコンをクリックして、「はじめから作成」を選択します。

アプリの名前は好きな名前を入力します。
(自分の環境ではREST APIテスト レコード登録アプリにしてます)
次に、フォームタブから文字列(1行)フィールドをフォーム画面上にドラッグして配置します。

配置したフィールドの設定画面から赤枠の箇所を変更します。
今回はフィールド名、フィールドコードともにNameにしています。

ここまできたら、一旦アプリを公開します。

公開されたアプリに試しにレコードを追加します。
右上のレコード追加のボタンをクリックします。

入力項目はNameフィードだけなので、適当に名前を入力して保存します。

一覧に先ほど登録したレコードが追加されていればOKです。

APIトークン発行

次に、先ほど登録したアプリのレコードを外部から制御するために、APIトークンを発行します。
APIトークンの作成方法は公式ヘルプも参照ください。

先ほど作成したアプリの設定画面から、アイコンを選択し、設定タブ内にあるAPIトークンを選択します。

APIトークン設定の画面左上にある生成するボタンをクリックし、APIトークンを発行します。発行されたAPIトークンはレコード追加のチェックが有効ではないので、チェックを入れて有効化します。

これでAPIトークンの準備ができたので、改めてアプリを公開します。

Postmanでの検証

APIトークンが取得できたので、いよいよ外部からレコードの登録を試します。
いきなりiPhoneショートカットで試した場合、処理がうまくいかなかった場合のデバッグが難しいため、まずはAPIプラットフォームのPostmanを使ってレコードの登録を試してみます。
Postmanに関する情報は、Postman社員の方が過去に実施した際のセミナー資料を色々公開しているので、こちらを参考にしてください。

自分も以前にPostmanでSwitchBotを制御する記事を書いたりしてます。

まず、新しいコレクションを作成し好きな名前を付けます。(自分はkintone REST APIという名前に設定)
その次に変数タブに移動し、3つの変数を追加します。

  • baseUrl:レコード登録用のURLを入力します
    以下のURLのxxxxxxxの部分を個人の環境に合わせます
    https://xxxxxxx.cybozu.com/

  • appId:最初に登録したアプリのIDを入力
    アプリIDは、そのアプリを開いた時のURLの数字が該当します。

入力が完了したら、右上の保存ボタンをクリックします。

次に、コレクション内にAPIのリクエストを追加します。
名前を適当に決めて(自分は1件のレコードを登録するという名前に設定)、リクエスト方法をPOSTに変更します。
URL部分は以下のように入力します。ここで、{{baseUrl}}は先ほど登録した変数を表します。

{{baseUrl}}k/v1/record.json

ヘッダータブでは、公式ヘルプを参考にし下の画像のように入力します。
APIトークンは先ほど作成した変数を使います。

ボディのタブでは、RawモードのJSONを選択し、以下のように入力します。
名前は好きな値を入力して問題ないです。
画像では、postmanという名前を設定しています。

{
  "app": {{appId}},
  "record": {
    "Name": {
      "value": "xxxxxxx"
    }
  }
}

ここまできたら、APIリクエストの内容を保存し、送信ボタンをクリックします。
少しすると、画面下側のレスポンス部分が更新されます。
ここで、赤枠で囲んだ部分が200 OKと表示されていれば成功です。

kintoneアプリ側に戻って一覧表示のページを更新すると、Postmanからリクエストしたレコードが追加されています。

iPhoneショートカットの作成

Postmanを使ったレコード登録ができたので、今度はiPhoneショートカットを使ってレコード登録に挑戦します。
なお、iPhoneショートカットを使ったHTTPリクエストのPOST方法は以前記事を書いていますので、細かい部分はこちらの記事をご覧ください。

ショートカットアプリを開き、新規のショートカットを追加して好きな名前やアイコンを設定します。

最初に、レコードに登録する名前を入力するアクションを追加します。
登録する名前を入力してくださいの部分は入力するウィンドウのタイトルなので、自由に設定できます。

なお、テキストの項目は選択すると、数字やURL、日時データなどを選ぶことも可能です。(今回はテキストのままでOK)

次にkintoneにHTTPリクエストするためのアクションを追加します。
URLの内容を取得アクションを利用します。取得となっていますが、実際にはPOSTも可能なアクションです。

入力項目は先ほどPostmanで登録した内容を参考に入力していきます。

ボディの部分については、階層構造となっています。
階層構造の部分(record - Name - value)については、フィールドタイプを辞書にすることで階層でのデータ入力が可能になります。
こちらも参考にしてください。

{
  "app": {{appId}},
  "record": {
    "Name": {
      "value": "xxxxxxx"
    }
  }
}

最後にリクエスト結果を表示するためのアクションを追加します。

表示内容はURLの内容を選択してください。

ここまでで、iPhoneショートカットが作成できましたので、実際に動作確認してみます。

◇動作確認

作ったショートカットを実行して、実際にレコードを登録してみます。

ショートカット一覧画面から、先ほど作成したショートカットをタップします。

タップ後、画面上部に登録するレコードのNameを入力するウィンドウが表示されるので何か文字を入力します。(自分はiPhoneという名前に設定)
完了ボタンを押すと、アクションが進み、最終的に以下のような画面が表示されるので、完了ボタンをタップして終了です。
※Postmanの時のように、HTTPレスポンスのステータスコードを表示したかったのですが、結局出し方がわからず断念してます

kintoneアプリ側に戻って一覧表示のページを更新すると、今回のレコードが追加されています。

◇おわりに

kintoneはスマートフォン用のアプリも提供されているため、そのアプリを使えばレコードの追加は可能です。
ただ、送るデータの入力項目がほぼない、入力する内容がほぼ決まっているといったシチュエーションでは、今回のようにショートカット経由でレコード登録すると少し手間が省けると感じ、今回の記事を書いてみました。
今回はテスト用のアプリでしたが、例えば毎日の体調チェック(選択肢を用意しておき、それを選ぶだけのアプリなど)のようなアプリとかだと使えるかもしれません。
また、iPhoneショートカットはオートメーションの機能もあるため、これを活用することで自動化といったことも可能です。(できれば今年のアドカレ期間内にその辺の記事も書きたい・・・)

乞うご期待!!

(2024/12/11 追記)
別記事にて、iPhoneショートカット機能のオートメーションを使った自動化を試してみました。
良ければこちらもご覧ください。

🔚END

10
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?