見出し画像

WinActorからkintoneの複数行をGetだぜ!

こちらの記事は、RPACommunity Advent Calendar 12月8日の記事になります。

え?8日はLTに関する記事じゃないかって?
そんな昔のことは忘れたさ。俺は、書きたいことを書く!!!
(LT関連はまたの機会に…すまそ。。)

といわけで、今回もkintone x winactorネタです(しつこい??)

ライトニングトーク支部で、「kintone縛りのLT大会」を企画しており、そのネタ調査の過程になりますので、、、

さて、4日と5日の記事で、kintoneからREST APIを経由して、WinActorで1行だけデータが取れました。

こちらの記事では、複数行を取得する内容にしたいと思います。

下準備

複数行取得する、ということはkintoneに複数行必要ということですよね。現在1行しか登録されていませんので、数行登録してみます。

おっと…登録はWinActor……ではなく、手動登録です(笑)
期待された方、もうしばらくお待ちくださいw

ということで、敢えて抜けてる項目作って数件のデータ登録をしておきました。
複数行のデータ、WinActorで正しく取得できるでしょうか?

APIを変更

cyboze developer networkに、kintoneのAPIリファレンスがあるのですが、そこで複数のレコード取得は、下記のように書いてありました。

これに従うと、URIは下記のようになります。
※APP=2は、私の環境になります。

https://hogehoge.cybozu.com/k/v1/records.json?app=2

というこで、実行してみましょう!!

エラッた…

はい、見事のエラーとなりました。
WinActorの文字数制限、1024文字まで?!
え?そうなの???

困ったときは、Bard先生に相談だ!(GPT先生でも可)
やっぱり、1024文字制限がある…けど、解除の方法も記載されてる!!

ということで、シナリオ情報画面のその他タブの中に、しっかりとありました。今、チェックが入ってる状態ですが、これをOFFにしてリトライしてみましょう。

リトライ

OFFにして実行したところ、おぉ…無事に取得できてるっぽい!!

まだキー項目で取り出しは出来ていませんが、とりあえずJSONで複数行の取得はできたみたいですね。

では、細かい各項目の取得はどうするかというと…

HTTP詳細で複数項目をkintoneから取得するところまで同じ。
次に例外処理の中に繰り返し処理を入れます。繰り返し処理は無限ループにしています。何も起きなければずっとループしつづけるやつですね。
ループを抜けるためには、エラーを発生させます。

今回、INDEX初期化としており、ループ内でINDEX値をカウントアップしています。そして、「配列の値の取得(JSON)」でINDEX値を使ってJSON配列の中から1レコードづつ取得します。

取得後は、各項目の値を取り出します。

そして配列数を超えて取り出そうとしたとき、エラーが発生します。
そのエラーを例外処理がキャッチすることで、無限ループを抜ける仕組みにしています。

以上で、kintoneから複数行をAPIで取り出し、それを各項目毎に取得し変数に保存するところまで出来ました。

次は、項目が埋まってないところ(名前とかグレードが空欄のまま)を、属性ファイルから値を読み取り、その値で更新するところをやりたいと思います。

ここまで出来れば、kintone縛りのLT会ネタもなんとか出来そう~(^O^)/

この記事が気に入ったらサポートをしてみませんか?