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";