【ChatWork】予約投稿する方法

chatwork-reserve-post

ChatWorkに予約投稿機能はまだありません。

ですのでチャットワークAPIとGAS(Google Apps Script)を使っての予約投稿を試してみました。

スポンサーリンク

やり方

APIの利用申請

外部のプログラム(Google Apps Script)を使用する為、チャットワークAPIの入手が必要です

チャットワークAPIドキュメント

Google Apps Scriptの設定とテスト投稿

  • Googleドライブ>その他>アプリを追加からGoogle Apps Scriptを検索して選択します。

  • Google Apps Scriptを開いたら、まずリソース>ライブラリからChatWorkClientのプロジェクトキーを検索して追加。バージョンを最新にして保存します。

f:id:min0124:20170227234633p:plain

M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT

GitHub – cw-shibuya/chatwork-client-gas: ChatWork Client for Google Apps Script

  • コードの入力

デフォルトで作成されているコード.gsに下記コードを入力します。

function sendMessageTest() {
var client = ChatWorkClient.factory({token: 'ここにAPIを入力'});
client.sendMessage({room_id: ここにルームIDを入力, body: '送りたい内容を入力'});
}

ルームIDは送りたいルームのアドレスに書いてある番号を入力します。

f:id:min0124:20170227235042p:plain

  • 実行

再生ボタンまたは実行メニューからsendMessageTestを押してみます。

すこしラグがありますが、チャットワークに投稿されているはずです。

予約投稿

  • ストップウオッチボタンまたはリソース>現在のプロジェクトのトリガーから新しいトリガーを追加します。

  • 時間主導型、特定の日時を選び日付を入力します。

f:id:min0124:20170227235621p:plain


2017-02-27 23:26

  • 保存すれば、多少ラグがでますが、その時間にチャットワークへ投稿されます。

f:id:min0124:20170227235739p:plain

サンプル

function sendMessageTest() {
var client = ChatWorkClient.factory({token: 'チャットワークAPIトークン'});
client.sendMessage({room_id: 送りたいルームID, body: '[To:77777777]\nテストです。\n\nデータのパスです。\n[info]C:\\Users\\ユーザー名\\Desktop\\[/info]'});
}
スポンサーリンク

参考

Google Apps ScriptからChatWork APIを使って投稿する – Qiita

コメント

  1. みさ より:

    為になる記事ありがとうございます。
    こちらのコードをそのまま使用してみているのですが、

    TypeError: オブジェクト [object Object] で関数 factory が見つかりません。(行 2、ファイル「コード」)

    というエラーが出てしましました。
    自分で解決ができないので、教えていただけたら嬉しいです。宜しくお願い致します。

    • すいみん すいみん より:

      環境やコードをみないとわからないのですが、
      もしかするとというところがあります。

      リソース>ライブラリを開いて、ChatWorkClientの横のバージョンをプルダウンから最新(バージョン18)にして試してみてください。