스프레트시트 업데이트를 workplaceFeed에 알립니다.
WorkPlace는 아직 유행하지 않았기 때문에 자료가 적네요!
채팅에 통지하는 BOT도 만들고 싶었습니다만, 권한이 없고, 권한이 있는 분에게 부탁할 수 없었기 때문에, 포기했습니다 w
그래서 여기에서는 피드 투고까지를 목표로하겠습니다.
작성 절차
이번에는 「TODO 리스트에 ✓가 붙으면 Workplace에 통지한다」 것을 만들어 봅시다.
1. 스프레드시트를 만듭니다.
새 스프레드시트 만들기에서 TODO
적절하게 작업을 추가합니다.
2. 체크가 되면 액션하는 코드를 작성
메뉴 바에서 ツール
-> スクリプトエディタ
constants.jsvar CHECK_COLUMN = "1"; // 納品通知カラム数(A)
main.js/**
* アクティブセルのステータスをチェック
* トリガー: 編集時
*/
function getState() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var activeCell = sheet.getActiveCell();
var rowNum = activeCell.getRow();
// チェックBOXがアクティブ&&チェック付いてる時、通知する
if(activeCell.getColumn() == CHECK_COLUMN && activeCell.getValue()) {
// 同列の値も取得して通知します
Browser.msgBox('日付: ' + sheet.getRange('B' + rowNum).getValue() + '\nタスク: ' + sheet.getRange('C' + rowNum).getValue());
}
}
체크를 했는지 아닌지를 조사하기 위해서, 편집시에 이 코드를 실행시킵니다. (트리거 설정)
트리거 설정은 스크립트 편집기 상단의 "편집"⇒ "현재 프로젝트 트리거"에서 수행합니다.トリガーの追加
에서 다음과 같이 조건을 선택합니다.
그런 다음 アクセスを許可
까지 완료되었습니다.
체크하면 실행되면 OK
3. Workplace에서 BOT 앱 만들기
※BOT를 만들려면 그 그룹의 관리자 권한이 필요합니다.
BOT를 사용하는 그룹 메뉴에서 Intergrations
를 엽니다.Create Publishing Bot
에서 작성
이번은 테스트용으로 만들어 보았습니다.
Create New Access Token
에서 토큰을 가져오고 메모합니다.
4. BOT 통지
스프레드시트로 돌아가서 이전에 기록한 토큰을 코드에 씁니다.
constants.js// workplace
var FACEBOOK_API_URI = 'https://graph.facebook.com/v3.0';
var WORKPLACE_ACCESS_TOKEN = 'DQVxxxxxxx';
main도 편집합니다.
main.js/**
* アクティブセルのステータスをチェック
* トリガー: 編集時
*/
function getState() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var activeCell = sheet.getActiveCell();
var rowNum = activeCell.getRow();
// チェックBOXがアクティブ&&チェック付いてる時、通知する
if(activeCell.getColumn() == CHECK_COLUMN && activeCell.getValue()) {
// 同列の値も取得して通知します
postWorkPlaceFeed('日付: ' + sheet.getRange('B' + rowNum).getValue() + '\nタスク: ' + sheet.getRange('C' + rowNum).getValue());
}
}
/**
* Workplaceに投稿する
*/
function postWorkPlaceFeed(text) {
UrlFetchApp.fetch(FACEBOOK_API_URI + '/group/feed?&access_token=' + WORKPLACE_ACCESS_TOKEN, {
method : 'POST',
contentType : 'application/json',
payload : JSON.stringify({
message: '# タスクが完了しましたBOT\n' + text, // 投稿内容です
formatting : 'MARKDOWN' // MarkDown使いたい場合はここにいれましょう
})
});
}
게시하기 전에 인증을 허용해야 합니다.
스크립트 편집기 상단의 "편집"⇒ "현재 프로젝트 트리거"에서 스크립트를 실행합니다.
인증하면 체크 BOX에 체크를 합시다.
Workplace에 게시되면 성공입니다!
끝
매우 간단했다고 생각합니다.
Workplace는 자료가 적었기 때문에, 메모를 전혀 정리해 보았습니다.
채팅과 피드는 또한 BOT의 역할이 바뀔 것이라고 생각합니다. 어떻게 사용하는지 운영에 따라 다릅니다.
도움이되면 영광입니다.
실수 등 있으면 지적 부탁드립니다!
참고 사이트
이번 기사에는 관계가 없는 것도 섞여 있습니다만, bot를 만들어 가면서 참고가 된 것을 정리해 둡니다.
- Google 스프레드시트만으로 만드는 FB messenger bot
- Facebook Messenger Bot을 만드는 방법 ~ AWS Lambda (Serverless)로 구축 ~
- Bots for Workplace
- Facebook에 봇 연결
- 최초의 서버리스 애플리케이션 개발 ~Serverless Framework를 사용하여 AWS 리소스 배포~
- (공식) POST
- Workplace API로 POST 할 때 멤버에게 멘션하고 싶습니다.
Reference
이 문제에 관하여(스프레트시트 업데이트를 workplaceFeed에 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ikemai/items/420b6da94c618d1b9d4f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var CHECK_COLUMN = "1"; // 納品通知カラム数(A)
/**
* アクティブセルのステータスをチェック
* トリガー: 編集時
*/
function getState() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var activeCell = sheet.getActiveCell();
var rowNum = activeCell.getRow();
// チェックBOXがアクティブ&&チェック付いてる時、通知する
if(activeCell.getColumn() == CHECK_COLUMN && activeCell.getValue()) {
// 同列の値も取得して通知します
Browser.msgBox('日付: ' + sheet.getRange('B' + rowNum).getValue() + '\nタスク: ' + sheet.getRange('C' + rowNum).getValue());
}
}
// workplace
var FACEBOOK_API_URI = 'https://graph.facebook.com/v3.0';
var WORKPLACE_ACCESS_TOKEN = 'DQVxxxxxxx';
/**
* アクティブセルのステータスをチェック
* トリガー: 編集時
*/
function getState() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var activeCell = sheet.getActiveCell();
var rowNum = activeCell.getRow();
// チェックBOXがアクティブ&&チェック付いてる時、通知する
if(activeCell.getColumn() == CHECK_COLUMN && activeCell.getValue()) {
// 同列の値も取得して通知します
postWorkPlaceFeed('日付: ' + sheet.getRange('B' + rowNum).getValue() + '\nタスク: ' + sheet.getRange('C' + rowNum).getValue());
}
}
/**
* Workplaceに投稿する
*/
function postWorkPlaceFeed(text) {
UrlFetchApp.fetch(FACEBOOK_API_URI + '/group/feed?&access_token=' + WORKPLACE_ACCESS_TOKEN, {
method : 'POST',
contentType : 'application/json',
payload : JSON.stringify({
message: '# タスクが完了しましたBOT\n' + text, // 投稿内容です
formatting : 'MARKDOWN' // MarkDown使いたい場合はここにいれましょう
})
});
}
매우 간단했다고 생각합니다.
Workplace는 자료가 적었기 때문에, 메모를 전혀 정리해 보았습니다.
채팅과 피드는 또한 BOT의 역할이 바뀔 것이라고 생각합니다. 어떻게 사용하는지 운영에 따라 다릅니다.
도움이되면 영광입니다.
실수 등 있으면 지적 부탁드립니다!
참고 사이트
이번 기사에는 관계가 없는 것도 섞여 있습니다만, bot를 만들어 가면서 참고가 된 것을 정리해 둡니다.
- Google 스프레드시트만으로 만드는 FB messenger bot
- Facebook Messenger Bot을 만드는 방법 ~ AWS Lambda (Serverless)로 구축 ~
- Bots for Workplace
- Facebook에 봇 연결
- 최초의 서버리스 애플리케이션 개발 ~Serverless Framework를 사용하여 AWS 리소스 배포~
- (공식) POST
- Workplace API로 POST 할 때 멤버에게 멘션하고 싶습니다.
Reference
이 문제에 관하여(스프레트시트 업데이트를 workplaceFeed에 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ikemai/items/420b6da94c618d1b9d4f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(스프레트시트 업데이트를 workplaceFeed에 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ikemai/items/420b6da94c618d1b9d4f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)