LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Saturday, December 8, 2018

WorkplaceのAPIで指定したグループに投稿したい(payload)


Workplaceの指定したグループにAPIで投稿したくて試した方法です
ここではコード.gsにあるようにpayloadを使います

公式リファレンスで記載があるページを見つけられませんでしたが
これまで利用してきた他のサービスのAPIで利用した方法を試したら同じようにできました


関連記事

integrationの設定について


グループへの投稿について(payloadではなくパラメータを使用する場合)



コード.gs
/************************************
ファイル>プロジェクトのプロパティ>スクリプトのプロパティ に保存したアクセストークンを取得して返す
************************************/
function getToken() {
  return PropertiesService.getScriptProperties().getProperty('api_token');
}

var BASE_URL = 'https://graph.facebook.com/';

/************************************
groupIdを指定して投稿する
************************************/
function postFeed(){
  var message = 'HELLO!';
  var payload = getPayload(message);
  var groupId = 'GROUP_ID';
  var url = BASE_URL + groupId + '/feed';
  var options = getPostOptions(payload);
  var response = UrlFetchApp.fetch(url, options).getContentText();
  var jobj = JSON.parse(response);
  return jobj;
}

/************************************
dataを作って返す
************************************/
function getPayload(message) {
  var data = {
      'message': message
  }
  var json = JSON.stringify(data);
  return json;
}

/************************************
headersを作って返す
************************************/
function getHeaders(){
  var headers = {
      'Authorization': 'Bearer ' + getToken()
    };
  return headers;
}

/************************************
optionsを作って返す
************************************/
function getPostOptions(payoad){
  var options = {
    'method': 'post',
    'contentType': 'application/json',
    'headers': getHeaders(),
    'payload': payoad
  };
  return options;
}

postFeed() を実行すると、指定したグループにメッセージが投稿されます


Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...