Ribbit.work

KintoneからChatworkのユーザ一覧を取得する

JavaScriptKintone

last modified date2021-9-28

publish date2021-9-15

API トークンを発行したユーザのコンタクトとなっているユーザ一覧を取得します。

使用したコード

(async () => {
  const uri = "https://api.chatwork.com/v2/contacts";

  const header = {
    "X-ChatWorkToken": "ここに発行したAPIトークンを指定",
  };

  try {
    const response = await kintone.proxy(uri, "GET", header, "");
    console.log("Chatworkからデータを取得しました。", response);
  } catch (error) {
    console.log("Chatworkからデータを取得できませんでした。", error);
  }
})();

解説

処理の順序

kintone.proxy の返り値は Promise オブジェクトなので、then、catch の中のコードは非同期で処理されます。上記のコードの下に、取得後を想定したコードを記述すると、思ったように動作しないケースがあるので、取得後の処理は then の中に書いてください。

レスポンスの内容

Chatwork から受け取るデータ(上記コードの response の部分)は、配列で取得されます

  1. HTTP ボディ(ほしいデータの部分、JSON 形式)
  2. HTTP ヘッダー(受信に成功したかどうかなどのステータスコード
  3. ゲートウェイ情報(基本的には使いません。Chatwork は Amazon のゲートウェイを利用しているため、その情報が取得されます)

また、HTTP ボディは JSON 形式となっているので、JSON.parse をかませてやる必要があります。以下は、今回のケースの、parse 後のオブジェクト内容の例です。

{
	"account_id": 123,
	"room_id": 322,
	"name": "John Smith",
	"chatwork_id": "tarochatworkid",
	"organization_id": 101,
	"organization_name": "Hello Company",
	"department": "Marketing",
	"avatar_image_url": "https://example.com/abc.png"
}

エラーが発生した際の対処法

HTTP ヘッダーが’400’や’401’など、エラーが発生している場合。HTTP ボディは以下のようになります。

{
  "errors": ["Invalid API token"]
}

正常終了した場合の HTTP ヘッダーは'200'ですので、正常終了した場合のみ処理をしたい場合は、以下のようなエラーチェックを入れた方が良いかもしれません。

if (response[1] !== "200") {
  console.log("データを取得しましたが、エラーが返却されました。", response[1]);
  return;
}

この記事を読んだ方におすすめの記事

特定のHTML要素のclassListを全て削除(リセット)する方法
2021-10-14

特定のHTML要素のclassListを全て削除(リセット)する方法

JavaScript
TypeScriptで楽天ブックス書籍検索APIを使う📚
2021-9-13

TypeScriptで楽天ブックス書籍検索APIを使う📚

TypeScriptJavaScript
【kintone】Webフォントを適用する
2021-9-8

【kintone】Webフォントを適用する

KintoneJavaScript
KintoneからChatworkにメッセージを送る
2021-9-6

KintoneからChatworkにメッセージを送る

JavaScript
アクセス権限のないアプリにJavaScriptからだけアクセスを許可する方法
2021-9-3

アクセス権限のないアプリにJavaScriptからだけアクセスを許可する方法

KintoneJavaScript

最新の記事

特定のHTML要素のclassListを全て削除(リセット)する方法
2021-10-14

特定のHTML要素のclassListを全て削除(リセット)する方法

JavaScript
TypeScriptで楽天ブックス書籍検索APIを使う📚
2021-9-13

TypeScriptで楽天ブックス書籍検索APIを使う📚

TypeScriptJavaScript
【kintone】Webフォントを適用する
2021-9-8

【kintone】Webフォントを適用する

KintoneJavaScript
KintoneからChatworkにメッセージを送る
2021-9-6

KintoneからChatworkにメッセージを送る

JavaScript
Excel VBAの高速化はこれだけでOK!コピペで使えるコードを紹介
2021-9-3

Excel VBAの高速化はこれだけでOK!コピペで使えるコードを紹介

VBA