地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【GAS】Slack APIとか色々

/**
 * Slack APIにPOSTする
 * @param {string} apiMethod - 使用するAPI
 * @param {Object} payload - tokenやパラメータ
 * @returns {GoogleAppsScript.URL_Fetch.HTTPResponse}
 */
function postSlackApi(apiMethod, payload) {
  const PARAMS = {
    'method': 'post',
    'contentType': 'application/x-www-form-urlencoded',
    'payload': payload
  };
  return UrlFetchApp.fetch(`https://slack.com/api/${apiMethod}`, PARAMS);
}
/**
 * EメールアドレスからSlackのuserオブジェクトを取得する
 * @param {string} email
 * @param {string} slackToken
 * @returns {GoogleAppsScript.URL_Fetch.HTTPResponse} Slack User Object
 */
function getSlackUserByEmail(email, slackToken) {
  const apiMethod = "users.lookupByEmail";
  const apiParams = {
    "token": slackToken,
    "email": email
  };
  return postSlackApi(apiMethod, apiParams);
}