【ChatWork】予約投稿する方法

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