Google Apps Script スクリプト ID: 1_G2DWvA4_JU87Tc40cABnA3G8nxR2e_t1HJ7Wy_qS557GAfW7RolBp7E
chatwork-apps-script-2024-04-24_09.12.49.mp4
このライブラリは、Google Apps Script から Chatwork API を利用するための関数を提供します。
自分自身の情報を取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。
Me
: 自分自身の情報を含むオブジェクト。
自分の未読数、未読 To 数、未完了タスク数を取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。
MyStatus
: 未読数、未読 To 数、未完了タスク数を含むオブジェクト。
自分のタスク一覧を最大 100 件まで取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
-
必須
token
{string}: [Chatwork API トークン]。 -
queryParams
{object}: 取得条件を指定するパラメータ。assigned_by_account_id
{string | number}: タスクを割り当てたユーザーのアカウント ID。status
{'open' | 'done'}: タスクのステータス。open
は未完了、done
は完了。
-
MyTask[]
: 自分のタスク情報を含むオブジェクトの配列。
自分のコンタクト一覧を取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。
Contact[]
: コンタクト情報を含むオブジェクトの配列。
チャット一覧を取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。
RoomInfo[]
: チャットルーム情報を含むオブジェクトの配列。
新しいグループチャットを作成します。
- HTTP メソッド: POST (新規作成)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
formData
{object}: ルーム作成に必要な情報。- 必須
name
{string}: グループチャットの名前。 description
{string}: グループチャットの概要。link
{number}: 招待リンクを作成するか (0: 作成しない, 1: 作成する)。link_code
{string}: 招待リンクのパス部分。省略するとランダムな文字列が生成されます。link_need_acceptance
{number}: 参加に管理者の承認を必要とするか (0: 不要, 1: 必要)。- 必須
members_admin_ids
{string | (string | number)[]}: 管理者権限のユーザーのアカウント ID(カンマ区切りまたは配列)。 members_member_ids
{string | (string | number)[]}: メンバー権限のユーザーのアカウント ID(カンマ区切りまたは配列)。members_readonly_ids
{string | (string | number)[]}: 閲覧のみ権限のユーザーのアカウント ID(カンマ区切りまたは配列)。icon_preset
{string}: グループチャットのアイコンの種類。
指定可能な値はgroup
,check
,document
,meeting
,event
,project
,business
,study
,security
,star
,idea
,heart
,magcup
,beer
,music
,sports
,travel
。
- 必須
RoomsPostResponse
: 作成したチャットルームの情報を含むオブジェクト。
チャットの情報(名前、アイコン、種類など)を取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。
RoomInfoWithDescription
: チャットルームの情報を含むオブジェクト。
チャットの情報(名前、アイコンなど)を変更します。
- HTTP メソッド: PUT (更新)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 formData
{object}: 変更するチャットの情報。name
{string}: チャットの名前。description
{string}: チャットの概要。icon_preset
{string}: チャットのアイコンの種類。指定可能な値はgroup
,check
,document
,meeting
,event
,project
,business
,study
,security
,star
,idea
,heart
,magcup
,beer
,music
,sports
,travel
。
RoomPutResponse
: 更新されたチャットルームの情報を含むオブジェクト。
グループチャットを退席、または削除します。
注意: グループチャットを削除すると、メッセージ、タスク、ファイルがすべて削除されます。(一度削除すると元に戻せません。)
- HTTP メソッド: DELETE (削除) (削除)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
formData
{object}: 操作の種類を指定するオブジェクト。- 必須
action_type
{'leave' | 'delete'}: 操作の種類。leave
は退席、delete
は削除。
- 必須
チャットのメンバー一覧を取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。
RoomMember[]
: メンバー情報を含むオブジェクトの配列。
チャットのメンバーを一括で変更します。
- HTTP メソッド: PUT (更新)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
formData
{object}: メンバー情報を含むオブジェクト。- 必須
members_admin_ids
{string | (string | number)[]}: 管理者権限のユーザーのアカウント ID(カンマ区切りまたは配列)。 少なくとも 1 人以上必要。 members_member_ids
{string | (string | number)[]}: メンバー権限のユーザーのアカウント ID(カンマ区切りまたは配列)。members_readonly_ids
{string | (string | number)[]}: 閲覧のみ権限のユーザーのアカウント ID(カンマ区切りまたは配列)。
- 必須
RoomMembersPutResponse
: 更新されたメンバー情報を含むオブジェクト。
チャットのメッセージ一覧を最大 100 件まで取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 queryParams
{object}: メッセージ取得条件を指定するパラメータ。force
{boolean}: 強制的に最大件数まで取得するかどうか。false
(デフォルト) の場合は前回取得分からの差分のみ、true
の場合は強制的に最新のメッセージを最大 100 件取得。
Message[]
: メッセージ情報を含むオブジェクトの配列。
チャットに新しいメッセージを投稿します。
- HTTP メソッド: POST (新規作成)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
formData
{object}: メッセージ情報を含むオブジェクト。- 必須
body
{string}: メッセージ本文。 self_unread
{boolean}: 投稿メッセージを自分から見て未読にするか。false
(デフォルト) は既読、true
は未読。
- 必須
UpdatedMessage
: 投稿したメッセージの情報を含むオブジェクト。
チャットのメッセージを既読にします。
- HTTP メソッド: PUT (更新)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
formData
{object}: 既読にするメッセージの情報。- 必須
message_id
{string}: 既読にするメッセージの ID。 指定した ID までのメッセージが既読になります。
- 必須
RoomMessagesReadPutResponse
: 未読数とメンション数を含むオブジェクト。
チャットのメッセージを未読にします。
- HTTP メソッド: PUT (更新)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
formData
{object}: 未読にするメッセージの情報。- 必須
message_id
{string}: 未読にするメッセージの ID。 指定した ID 以降のメッセージが未読になります。
- 必須
RoomMessagesUnreadPutResponse
: 未読数とメンション数を含むオブジェクト。
チャットのメッセージを取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
messageId
{number}: メッセージ ID。
Message
: メッセージの情報を含むオブジェクト。
チャットのメッセージを変更します。
- HTTP メソッド: PUT (更新)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
messageId
{number}: メッセージ ID。 - 必須
formData
{object}: 変更するメッセージの情報。- 必須
body
{string}: 更新するメッセージ本文。
- 必須
UpdatedMessage
: 更新されたメッセージの情報を含むオブジェクト。
チャットのメッセージを削除します。
- HTTP メソッド: DELETE (削除)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
messageId
{number}: メッセージ ID。
- {object}: 空のオブジェクト。
チャットのタスク一覧を最大 100 件まで取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 queryParams
{object}: 取得条件を指定するパラメータ。account_id
{number}: 担当者のアカウント ID。assigned_by_account_id
{string | number}: タスクを割り当てたユーザーのアカウント ID。status
{'open' | 'done'}: タスクのステータス。open
は未完了、done
は完了。
Task[]
: タスク情報を含むオブジェクトの配列。
チャットに新しいタスクを追加します。
- HTTP メソッド: POST (新規作成)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
formData
{object}: タスク情報を含むオブジェクト。- 必須
body
{string}: タスクの内容。 - 必須
to_ids
{string | (string | number)[]}: 担当者にしたいユーザーのアカウント ID(カンマ区切りまたは配列)。 limit
{number | string}: タスクの期限。Unix 時間(秒)で指定。limit_type
{'none' | 'date' | 'time'}: タスクの期限の種類。none
は期限なし、date
は日付期限、time
は時間期限。 デフォルトはtime
。
- 必須
PostTasksResponse
: 追加されたタスクの情報を含むオブジェクト。
チャットのタスクの情報を取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
taskId
{number}: タスク ID。
Task
: タスクの情報を含むオブジェクト。
チャットのタスクの完了状態を変更します。
- HTTP メソッド: PUT (更新)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
taskId
{number}: タスク ID。 - 必須
formData
{object}: タスクの完了状態を含むオブジェクト。- 必須
body
{'open' | 'done'}: タスクの完了状態。done
は完了、open
は未完了。
- 必須
TaskIdResponse
: タスク ID を含むオブジェクト。
チャットのファイル一覧を最大 100 件まで取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 queryParams
{object}: 取得条件を指定するパラメータ。account_id
{number}: アップロードしたユーザーのアカウント ID。
File[]
: ファイル情報を含むオブジェクトの配列。
チャットに新しいファイルをアップロードします。
- HTTP メソッド: POST (新規作成)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 formData
{object}: ファイル情報を含むオブジェクト。file
{Blob | Uint8Array}: アップロードするファイルのバイナリ。(必須, 最大 5MB)message
{string}: ファイルに添付するメッセージ。
UploadedFiles
: アップロードされたファイルの情報を含むオブジェクト。
チャットのファイルの情報を取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 - 必須
fileId
{number}: ファイル ID。 queryParams
{object}: 取得条件を指定するパラメータ。create_download_url
{boolean}: ダウンロード URL を作成するか。作成された URL は 30 秒間有効。
DownloadableFile
: ファイル情報とダウンロード URL を含むオブジェクト。
チャットへの招待リンクを取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。
RoomInvitationLink
: 招待リンク情報を含むオブジェクト。
チャットへの招待リンクを作成します。 すでに招待リンクが作成されている場合は 400 エラーを返します。
- HTTP メソッド: POST (新規作成)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 formData
{object}: 招待リンク情報を含むオブジェクト。code
{string}: 招待リンクのパス部分。省略するとランダムな文字列が生成されます。need_acceptance
{boolean}: 参加に管理者の承認を必要とするか。description
{string}: 招待リンクのページに表示される説明文。
RoomInvitationLink
: 変更後の招待リンク情報を含むオブジェクト。
チャットへの招待リンクを変更します。 招待リンクが無効になっている場合は 400 エラーを返します。
- HTTP メソッド: PUT (更新)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。 formData
{object}: 招待リンク情報を含むオブジェクト。code
{string}: 招待リンクのパス部分。省略するとランダムな文字列が生成されます。need_acceptance
{boolean}: 参加に管理者の承認を必要とするか。description
{string}: 招待リンクのページに表示される説明文。
RoomInvitationLink
: 変更後の招待リンク情報を含むオブジェクト。
チャットへの招待リンクを削除します。招待リンクが無効になっている場合は 400 エラーを返します。
- HTTP メソッド: DELETE (削除)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
roomId
{number}: ルーム ID。
RoomInvitationLink
: 削除された招待リンク情報を含むオブジェクト。
自分へのコンタクト承認依頼一覧を最大 100 件まで取得します。
- HTTP メソッド: GET (参照)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。
ContactRequest[]
: コンタクト承認依頼情報を含むオブジェクトの配列。
自分へのコンタクト承認依頼を承認します。
- HTTP メソッド: PUT (更新)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
requestId
{number}: リクエスト ID。
ContactRequestApprovalResponse
: 承認されたコンタクト情報(リクエスト ID を除く)を含むオブジェクト。
自分へのコンタクト承認依頼を拒否します。
- HTTP メソッド: DELETE (削除)
- 参照リンク
- 必須
token
{string}: [Chatwork API トークン]。 - 必須
requestId
{number}: リクエスト ID。
- {object}: 空のオブジェクト。
提供された API トークンに関連付けられたユーザーに関する情報を含むオブジェクト。
interface Me {
// ユーザーのID
account_id: number;
// ユーザーのルームID
room_id: number;
// ユーザーの名
name: string;
// ユーザーのChatwork ID
chatwork_id: string;
// ユーザーの会社ID
organization_id: number;
// ユーザーの会社名
organization_name: string;
// ユーザーの部
department: string;
// ユーザーの役職
title: string;
// ユーザーが入力したカスタムURL
url: string;
// ユーザーの紹介
introduction: string;
// ユーザーのメアド
mail: string;
// ユーザーの会社電話番号
tel_organization: string;
// ユーザーの会社電話内線番号
tel_extension: string;
// ユーザーの携帯電話番号
tel_mobile: string;
// ユーザーのスカイプURL
skype: string;
// ユーザーのフェイスブックURL
facebook: string;
// ユーザーのX(ツイッター)のURL
twitter: string;
// ユーザーのアバター画像URL
avatar_image_url: string;
// ユーザーのログインに使用するのメアド
login_mail: string;
}
ユーザーに割り当てられた未読メッセージとタスクの情報を含むオブジェクト。
interface MyStatus {
// 未読メッセージがある部屋数
unread_room_num: number;
// ユーザーに関する未読メッセージがある部屋の数
mention_room_num: number;
// ユーザーに割り当てられたタスクがある部屋の数
mytask_room_num: number;
// 未読メッセージ数
unread_num: number;
// ユーザーに関する未読メッセージ数
mention_num: number;
// ユーザーに割り当てられたタスク数
mytask_num: number;
}
タスクが割り当てられたチャットルームの詳細を含むオブジェクト。
interface TaskRoom {
// チャットルームID
room_id: number;
// チャットルーム名
name: string;
// チャットルームのアイコンのURL
icon_path: string;
}
現在の API トークンに関連付けられたユーザーに割り当てられたタスクの詳細を含むオブジェクト。
Task
型からaccount
プロパティを除き、room
プロパティ(TaskRoom 型)を追加したもの。 Task
は下記で定義。
// Taskの定義は後述
type MyTask = Omit<Task, "account"> & { room: TaskRoom };
Chatwork コンタクトの詳細を含むオブジェクト。
interface Contact {
// コンタクトのアカウントID
account_id: number;
// コンタクトのルームID
room_id: number;
// コンタクトの名前
name: string;
// コンタクトのChatwork ID
chatwork_id: string;
// コンタクトの会社ID
organization_id: number;
// コンタクトの会社名
organization_name: string;
// コンタクトの部
department: string;
// コンタクトのアイコンのURL
avatar_image_url: string;
}
チャットルームの情報を含むオブジェクト。
interface RoomInfo {
// ルームID
room_id: number;
// ルーム名
name: string;
// ルームタイプ ('my', 'direct', 'group')
type: "my" | "direct" | "group";
// ユーザーのルームロール ('admin', 'member', 'readonly')
role: "admin" | "member" | "readonly";
// 固定されているか
sticky: boolean;
// 未読数
unread_num: number;
// メンション数
mention_num: number;
// 自分のタスク数
mytask_num: number;
// メッセージ数
message_num: number;
// ファイル数
file_num: number;
// タスク数
task_num: number;
// アイコンのパス
icon_path: string;
// 最終更新時間
last_update_time: number;
}
postRooms
関数のレスポンス。
interface RoomsPostResponse {
// 新しく作成されたルームID
room_id: number;
}
RoomInfo
に説明を追加したオブジェクト。
{
// ルームID
room_id: number;
// ルーム名
name: string;
// ルームタイプ ('my', 'direct', 'group')
type: "my" | "direct" | "group";
// ユーザーのルームロール ('admin', 'member', 'readonly')
role: "admin" | "member" | "readonly";
// 固定されているか
sticky: boolean;
// 未読数
unread_num: number;
// メンション数
mention_num: number;
// 自分のタスク数
mytask_num: number;
// メッセージ数
message_num: number;
// ファイル数
file_num: number;
// タスク数
task_num: number;
// アイコンのパス
icon_path: string;
// 最終更新時間
last_update_time: number;
// ルームの概要
description: string;
}
putRoom
関数のレスポンス。
interface RoomPutResponse {
// 更新されたルームID
room_id: number;
}
チャットルームのメンバー情報を含むオブジェクト。
interface RoomMember {
// アカウントID
account_id: number;
// ロール ('admin', 'member', 'readonly')
role: "admin" | "member" | "readonly";
// 名前
name: string;
// Chatwork ID
chatwork_id: string;
// 組織ID
organization_id: number;
// 組織名
organization_name: string;
// 部署
department: string;
// アバター画像URL
avatar_image_url: string;
}
putRoomMembers
関数のレスポンス。
interface RoomMembersPutResponse {
// 管理者権限のユーザーのアカウントID一覧
admin: number[];
// メンバー権限のユーザーのアカウントID一覧
member: number[];
// 閲覧のみ権限のユーザーのアカウントID一覧
readonly: number[];
}
メッセージの情報を含むオブジェクト。
interface Message {
// メッセージID
message_id: string;
// アカウント情報
account: AccountInfo;
// メッセージ本文
body: string;
// 送信時間
send_time: number;
// 更新時間
update_time: number;
}
更新されたメッセージの情報を含むオブジェクト。 (メッセージ削除の場合は、削除されたメッセージの ID が返る)
interface UpdatedMessage {
// メッセージID
message_id: string;
}
putRoomMessagesRead
関数のレスポンス。
interface RoomMessagesReadPutResponse {
// 未読数
unread_num: number;
// メンション数
mention_num: number;
}
putRoomMessagesUnread
関数のレスポンス。
interface RoomMessagesUnreadPutResponse {
// 未読数
unread_num: number;
// メンション数
mention_num: number;
}
アカウント情報を含むオブジェクト。
interface AccountInfo {
// アカウントID
account_id: number;
// 名前
name: string;
// アバター画像URL
avatar_image_url: string;
}
タスクの情報を含むオブジェクト。
interface Task {
// タスクID
task_id: number;
// アカウント情報
account: AccountInfo;
// 割り当てたアカウント情報
assigned_by_account: AccountInfo;
// メッセージID
message_id: string;
// タスク本文
body: string;
// 期限
limit_time: number;
// ステータス ('open' or 'done')
status: "open" | "done";
// 期限のタイプ ('none', 'date', 'time')
limit_type: "none" | "date" | "time";
}
postRoomTasks
関数のレスポンス。
interface PostTasksResponse {
// 追加されたタスクIDのリスト
task_ids: number[];
}
ファイルの情報を含むオブジェクト。
interface File {
// ファイルID
file_id: number;
// アカウント情報
account: AccountInfo;
// メッセージID
message_id: string;
// ファイル名
filename: string;
// ファイルサイズ
filesize: number;
// アップロード時間
upload_time: number;
}
postRoomFiles
のレスポンス。
interface UploadedFiles {
// アップロードされたファイルIDのリスト
file_ids: string[];
}
ダウンロード URL を含むファイル情報。
interface DownloadableFile {
// ファイルID
file_id: number;
// アカウント情報
account: AccountInfo;
// メッセージID
message_id: string;
// ファイル名
filename: string;
// ファイルサイズ
filesize: number;
// アップロード時間
upload_time: number;
// ダウンロードURL
download_url?: string;
}
チャットへの招待リンク情報を含むオブジェクト。
interface RoomInvitationLink {
// 公開設定
public: boolean;
// 招待リンクURL
url: string;
// 承認が必要か
need_acceptance: boolean;
// 説明文
description: string;
}
コンタクト承認依頼の情報を含むオブジェクト。
interface ContactRequest {
// リクエストID
request_id: number;
// アカウントID
account_id: number;
// メッセージ
message: string;
// 名前
name: string;
// Chatwork ID
chatwork_id: string;
// 組織ID
organization_id: number;
// 組織名
organization_name: string;
// 部署名
department: string;
// アバター画像URL
avatar_image_url: string;
}
putIncomingRequests
のレスポンス。
interface ContactRequestApprovalResponse {
// アカウントID
account_id: number;
// メッセージ
message: string;
// 名前
name: string;
// Chatwork ID
chatwork_id: string;
// 組織ID
organization_id: number;
// 組織名
organization_name: string;
// 部署名
department: string;
// アバター画像URL
avatar_image_url: string;
}
putRoomTaskStatus
のレスポンス。
interface TaskIdResponse {
// タスクID
task_id: number;
}
type TaskStatus = "open" | "done";
type TaskLimitType = "none" | "date" | "time";