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() を実行すると、指定したグループにメッセージが投稿されます