Google Apps Script から Chatwork にメッセージを送る


Google Apps Script から Chatwork にメッセージを送るコードを書いたのですが、少しハマったのでメモを残します。

Chatwork API ドキュメント

Google Apps Script

function sendMessageToChatwork() {
  var testText = "日本語";
  var userProperties = PropertiesService.getScriptProperties();
  var apiToken = userProperties.getProperty("apiToken");
  var data = {
    "body" : testText,
    "self_unread" : "1"
//    "self_unread" : "true"
  }
  var headers = {
    'X-ChatWorkToken': apiToken
  };
  var options = {
     "method" : "post",
     "payload" : data,
     "headers" : headers,
     "muteHttpExceptions": true
  };
  var roomId = "123456789(sample)";//「https://www.chatwork.com/#!rid123456789」の #rid 以降の数字"123456789"部分
  var requestUrl = "https://api.chatwork.com/v2/rooms/" + roomId + "/messages";
  var response = UrlFetchApp.fetch(requestUrl, options);
}

準備

プロジェクトのプロパティ → スクリプトのプロパティ に API キーを突っ込んでおいて下さい。

何にハマったか

"self_unread" : "1"

"self_unread" : "true"
で POST すると
{"errors":["Parameter 'self_unread' is not boolean"]}って返ってきちゃうんです^^;
まぁ、ドキュメントのサンプルが"0"で記述あったんで"1"で試したけど。。。