Chatwork - ユーザー一覧の取得
にメンテナンス済み
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 の部分)は、配列で取得されます
- HTTP ボディ(ほしいデータの部分、JSON 形式)
- HTTP ヘッダー(受信に成功したかどうかなどのステータスコード
- ゲートウェイ情報(基本的には使いません。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;
}
#JavaScript
#kintone