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]