Workplaceの指定したグループにAPIで投稿する時にメンションしたくて試した方法です
メンバーIDとは
検索ボックスに知りたいメンバーの名前を入力するとそのメンバーのidも見られます
関連記事
- WorkplaceのAPIのアクセストークンを取得する
- WorkplaceのAPIで指定したグループに投稿したい(feed?message=)
- WorkplaceのAPIで指定したグループに投稿したい(payload)
コード.gs/************************************
ファイル>プロジェクトのプロパティ>スクリプトのプロパティ に保存したアクセストークンを取得して返す
************************************/
function getToken() {
return PropertiesService.getScriptProperties().getProperty('api_token');
}
var BASE_URL = 'https://graph.facebook.com/';
/************************************
groupIdを指定して投稿する
************************************/
function postFeed(){
var mention = '@[MEMBER_ID]';
var message = mention + ' 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() を実行すると、指定したグループにメッセージが投稿されます
参考
Post
Tag a user in a group post
https://developers.facebook.com/docs/workplace/reference/graph-api/post/
Post
Tag a user in a group post
https://developers.facebook.com/docs/workplace/reference/graph-api/post/
POST graph.facebook.com
/{group-id}/feed?
message=Hi+@[100013325822531]

