導入方法
まずGoogle App Scriptのエディタ上でライブラリを選択します。
ボタンを押すとライブラリを検索する画面が出てきますので、下記のスクリプトIDを検索します。その後検索結果が表示されますのでバージョンを「2」に選択し、IDを「chatwork」としましょう。個々の名前は何でも良いですが、以降のサンプルでは「chatwork」という名前になっている前提で記載します。
1DXlHJ6kIR7-a5pA2ujqYGN1exKWt1xdJGlp5PoYYgWrYXfzoaJ7kkblD
使い方サンプル
getMe
Chatworkアカウントの自分自身の情報を取得できる関数です。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var me = chatworkClient.getMe()
レスポンス例
{
account_id: xxxxxxx,
room_id: xxxxxxxxx,
name: 'Daichi Mizuno',
chatwork_id: '',
organization_id: xxxxxxxxx,
organization_name: '',
department: '',
title: '',
url: '',
introduction: '',
mail: '',
tel_organization: '',
tel_extension: '',
tel_mobile: '',
skype: '',
facebook: '',
twitter: '',
avatar_image_url: 'https://appdata.chatwork.com/avatar/ico_default_yellow.png',
login_mail: 'test@gmail.com'
}
getMyStatus
自分のアカウントの未読数、未読 To 数、未完了タスク数を取得できます。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var myStatus = chatworkClient.getMyStatus()
レスポンス例
{
unread_room_num: 0,
mention_room_num: 0,
mytask_room_num: 1,
unread_num: 0,
mention_num: 0,
mytask_num: 1
}
getMyTasks
自分のタスク一覧を取得できます。利用できるパラメータはMy.d.tsのTasksParameterを参照してください。下記例ではstatusがopenになっているタスクのみを取得している例になります。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var mvar token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var params ={
status: 'open'
}
var myTasks = chatworkClient.getMyTasks(params)
レスポンス例
[
{
task_id: 247758651,
room:
{
room_id: xxxxxxxxxx,
name: 'マイチャット',
icon_path: 'https://appdata.chatwork.com/avatar/ico_default_yellow.png'
},
assigned_by_account:
{
account_id: xxxxxx,
name: 'Daichi Mizuno',
avatar_image_url: 'https://appdata.chatwork.com/avatar/ico_default_yellow.png'
},
message_id: '1534166403387490304',
body: 'xxxxxxx',
limit_time: 1642247362,
status: 'open',
limit_type: 'date'
}
]
getContacts
自分のコンタクト一覧を取得できます。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var contacts = chatworkClient.getContacts()
レスポンス例
[
{
account_id: xxxxxx,
room_id: xxxxxx,
name: 'xxxxxx',
chatwork_id: 'xxxxxx',
organization_id: xxxxxx,
organization_name: '',
department: '',
avatar_image_url: 'xxxxxx'
}
]
getRooms
自分のチャット一覧の情報を取得できます。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var rooms = chatworkClient.getRooms()
レスポンス例
[
{
room_id: 142989851,
name: 'マイチャット',
type: 'my',
role: 'member',
sticky: false,
unread_num: 0,
mention_num: 0,
mytask_num: 1,
message_num: 13,
file_num: 0,
task_num: 1,
icon_path: 'https://appdata.chatwork.com/avatar/ico_default_yellow.png',
last_update_time: 1642247591
}
]
postRooms
グループチャットを新規作成できます。利用できるパラメータはRoom.d.tsのPostRoomParameterを参照してください。ここでは「テストグループ」という名前のグループを自分のアカウントを管理者として作成しています。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var params = {
name: "テストグループ",
members_admin_ids: "xxxxxxx"
}
var rooms = chatworkClient.postRooms(params)
レスポンス例
{
room_id: xxxxxxxxx
}
getRoomsRoomId
グループチャットの名前、アイコン、種類(my/direct/group)などを取得できます。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var roomId = "xxxxxxxxx"
var roomsWithRoomId = chatworkClient.getRoomsRoomId(roomId)
レスポンス例
{
room_id: xxxxxxxxx,
name: 'テストグループ',
type: 'group',
role: 'admin',
sticky: false,
unread_num: 0,
mention_num: 0,
mytask_num: 0,
message_num: 2,
file_num: 0,
task_num: 0,
icon_path: 'https://appdata.chatwork.com/icon/ico_group.png',
description: '',
last_update_time: 1642251755
}
putRoomsRoomId
グループチャットの名前、アイコンをアップデートできます。利用できるパラメータはRoom.d.tsのPutRoomRoomIdParameterを参照してください。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var roomId = "xxxxxxxxx"
var params = {
description: "テストです",
icon_preset: "star",
name: "テストグループ"
}
var updateRoomResponse = chatworkClient.putRoomsRoomId(roomId, params)
レスポンス例
{
room_id: xxxxxxxxx
}
deleteRoomsRoomId
グループチャットを退席/削除することができます。利用できるパラメータはRoom.d.tsのDeleteRoomRoomIdParameterを参照してください。今回はグループチャットを削除しています。
リクエスト例
var token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var chatworkClient = chatwork.ChatWorkClient.getInstance(token)
var roomId = "xxxxxxxxx"
var params = {
action_type: "delete"
}
chatworkClient.deleteRoomsRoomId(roomId, params)
レスポンス例
なし
終わりに
まだChatworkの全てのAPIを実装してはおらず、一部になりますのでもし必要なものがあれば本ブログの問い合わせもしくはGithubのissueなどからご連絡ください。