Workplaceの指定したグループにAPIで投稿したくて試した方法です
var url = BASE_URL + groupId + '/feed?message=' + message;
関連記事
長いメッセージを投稿したい時はpayloadを使うとできるようです
(パラメータでは長すぎてエラーが出る)
integrationの設定について
前提
1. integrasionで「Manage group content」の Permissionがチェックされていて
2. 投稿したいGroupへのアクセスが設定されている
コード.gs
/************************************
ファイル>プロジェクトのプロパティ>スクリプトのプロパティ に保存したアクセストークンを取得して返す
************************************/
function getToken() {
return PropertiesService.getScriptProperties().getProperty('api_token');
}
var BASE_URL = 'https://graph.facebook.com/';
/************************************
groupIdを指定して投稿する
************************************/
function postFeed(){
var message = 'Hello!';
var encodeMessage = encodeURIComponent(message);
var groupId = 'GROUP_ID';
var url = BASE_URL + groupId + '/feed?message=' + encodeMessage;
var options = getPostOptions();
var response = UrlFetchApp.fetch(url, options);
var jobj = JSON.parse(response);
Logger.log(jobj);
}
/************************************
headersを作って返す
************************************/
function getHeaders(){
var headers = {
'Authorization': 'Bearer ' + getToken()
};
return headers;
}
/************************************
optionsを作って返す
************************************/
function getPostOptions(){
var options = {
'method': 'post',
'contentType': 'application/json',
'headers': getHeaders()
};
return options;
}
|
postFeed() を実行すると、指定したグループにメッセージが投稿されます


