1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Chatworkでチームにメンション(To)できるChrome拡張

Last updated at Posted at 2021-11-30

この記事 is 何?

Chatworkってチーム機能があるじゃないですか?

チームをグループチャットと紐付けて、メンバーが追加されたときに
自動的にルームのメンバーにできる便利機能なんですよ。

でもチームに To する機能はないんですよね。
関係するチームに連絡するときにそのチームのマネージャーを窓口に相談するんだけど
これもなんか違うと思うんですよね。
マネージャーがお休みだったらどうなる? 
部署異動があるたびに、それを意識しないといけない?

チームにTOしたいんだ。
ないなら、作る。作ったから話を聞いて欲しいんだ。

チームにToできるChrome拡張作った

完全にベータ扱いですが作りました。
デザインとか操作感とか作り込めていません😭
https://chrome.google.com/webstore/detail/chatwork-mention-to-team/gbofncipdgnliehdohjimpdelcmpdeap

チームを選ぶと、チームメンバーかつそのルームに所属しているメンバーのToに展開してくれます。

個人の感想

自分が抱えていた問題は解決できました。
チームに To できるってやっぱイイ!

  • 多数にToするのは心理的ハードルが…
    • → 所属しているチームに機械的に送っているから恣意的な配慮をしてないから負担軽減
  • マネージャーにToしたけど反応してくれないな…
    • 応答ないな、お休み? ミーティング中? たまたま離席してるだけ?
      • マネージャーのカレンダー、勤怠報告、休暇予定などをあさる、という切ない作業をしていた過去
    • メンバー全員にToすると誰かが反応してくれる
      • 担当者がいないのでちょっと待って / チームで分かっている人いない / あとでチーム内で確認して回答する  などなど

技術情報

Chatworkの非公式内部APIを叩きたい人向けの情報です。

リポジトリ

Chatworkの非公式内部API

Chatwork公式APIにはチームに関する操作APIがありません。
なので非公式APIを探します。

内部APIを探る

  • ブラウザのデベロッパーツールを開く
  • グループチャットにチームを追加する画面を開いたり、設定してみたり、チームを削除してみたり…
  • コールされているAPIとレスポンス参考に必要なAPIを探す

Chatworkの内部非公式APIを呼び出すために必要なこと

ログインセッション

アクセストークン

Chatwork のチャット画面のソースをみると javascript にアクセストークンがあります。
このトークンが必要です。

Chrome拡張でサイトコンテンツのjavascrip変数にアクセスするハック

セキュリティにより、Chrome拡張側からそのままサイトコンテンツのjavascrip変数にアクセスできません。
ソースがあるので詳しく説明しませんがギミックをつかって取得します。

チーム機能に関するChatwork内部API(2021/11/30現在)

コールしているAPIをトレースしてなんとなくコールしてします。
非公式でインターフェースが変わることもあるとおもうので、参考程度に。

さいごに

Chatwork公式APIになくても内部APIを使いChrome拡張で実現してみました。
Chrome拡張をつくったのは初めてでしたが、おもったよりもサクッとつくれました。
公式APIがもっと増えたらいいのになあと思います。

参考にした記事

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?