Google Docs 업데이트를 모니터링하고 업데이트가 있으면 Gist로 퍼져 차이를 확인합니다.
13093 단어 HTMLgistGoogleAppsScript슬랙오, ぇ D 리브
쉽고 좋지만 읽기 전용이므로 변경 내역조차 볼 수 없습니다.
갱신 통지나 차분을 전혀 모릅니다! 누군가에게 묻지 않으면 아무것도 모르는 상황
무슨 굴욕………… 용서해…
Gist
Github을 사용하는 수준의 규모가 아니므로 이번에는 Gist를 사용합니다.
먼저 대상 Gist를 만들고 업데이트하기 만하면됩니다.
gist.gsfunction updateGist(id, access_token, text) {
var url = 'https://api.github.com' + '/gists/' + id + '?access_token=' + access_token;
var payload = {
'description': 'ドキュメントが更新されちょるばい!',
'files': {
'docs.html': {
'content': text
}
}
};
var param = {
'method': 'POST', // ほんとは patch
'contentType': 'application/json',
'payload': JSON.stringify(payload);
};
return UrlFetchApp.fetch(url, param);
}
슬랙
이전 또한 기사의 방법을 사용합니다.
slack.gsfunction slack(text, channel, token) {
var url = '';
var parse = 'none';
var payload = {
'token': token,
'channel': channel,
'text': text,
'username'; '小鳩',
'parse': 'none',
'icon_emoji': ':kobato:'
};
var param = {
'method': 'POST',
'payload': payload
};
return UrlFetchApp.fetch(url, param);
}
Google Document to HTML
Google App Script getAs() 만 PDF로 변환 할 수 있었으므로 Drive API를 사용하기로 결정했습니다.
주의사항
Google 개발자 콘솔을 사용 설정하고 리소스> Google 확장 서비스 ...에서 Drive API 스위치를 켭니다.
코드
documentscript.gsfunction getDocument(fileId) {
var file = Drive.Files.get(fileId);
var htmlLink = file.exportLinks['text/html'];
if (!htmlLink) {
throw 'File cannot be converted to HTML.';
}
var oAuthToken = ScriptApp.getOAuthToken();
return UrlFetchApp.fetch(htmlLink, {
headers: {
'Authorization': 'Bearer ' + oAuthToken
}
});
}
HTML 링크를 여는 인증에 어려움을 겪었지만 어쨌든 구그
매우 쉬운 var oAuthToken = ScriptApp.getOAuthToken();
로 끝났습니다.
main
전제
function updateGist(id, access_token, text) {
var url = 'https://api.github.com' + '/gists/' + id + '?access_token=' + access_token;
var payload = {
'description': 'ドキュメントが更新されちょるばい!',
'files': {
'docs.html': {
'content': text
}
}
};
var param = {
'method': 'POST', // ほんとは patch
'contentType': 'application/json',
'payload': JSON.stringify(payload);
};
return UrlFetchApp.fetch(url, param);
}
이전 또한 기사의 방법을 사용합니다.
slack.gs
function slack(text, channel, token) {
var url = '';
var parse = 'none';
var payload = {
'token': token,
'channel': channel,
'text': text,
'username'; '小鳩',
'parse': 'none',
'icon_emoji': ':kobato:'
};
var param = {
'method': 'POST',
'payload': payload
};
return UrlFetchApp.fetch(url, param);
}
Google Document to HTML
Google App Script getAs() 만 PDF로 변환 할 수 있었으므로 Drive API를 사용하기로 결정했습니다.
주의사항
Google 개발자 콘솔을 사용 설정하고 리소스> Google 확장 서비스 ...에서 Drive API 스위치를 켭니다.
코드
documentscript.gsfunction getDocument(fileId) {
var file = Drive.Files.get(fileId);
var htmlLink = file.exportLinks['text/html'];
if (!htmlLink) {
throw 'File cannot be converted to HTML.';
}
var oAuthToken = ScriptApp.getOAuthToken();
return UrlFetchApp.fetch(htmlLink, {
headers: {
'Authorization': 'Bearer ' + oAuthToken
}
});
}
HTML 링크를 여는 인증에 어려움을 겪었지만 어쨌든 구그
매우 쉬운 var oAuthToken = ScriptApp.getOAuthToken();
로 끝났습니다.
main
전제
function getDocument(fileId) {
var file = Drive.Files.get(fileId);
var htmlLink = file.exportLinks['text/html'];
if (!htmlLink) {
throw 'File cannot be converted to HTML.';
}
var oAuthToken = ScriptApp.getOAuthToken();
return UrlFetchApp.fetch(htmlLink, {
headers: {
'Authorization': 'Bearer ' + oAuthToken
}
});
}
전제
코드
main.gs
function main() {
var spreadsheet = SpreadsheetApp.openByUrl('fuga');
var sheet = spreadsheet.getSheets()[0];
var docsId = 'hoge';
var file = DriveApp.getFileById(docsId);
var oldLastUpdated = parseInt(sheet.getRange(1,1).getValue());
var lastUpdated = file.getLastUpdated();
if (oldLastUpdated < lastUpdated.getTime()) {
updateGist('piyo', 'access_token', getDocument(docsId).toString().replace(/>/g,'>/n'));
slack('ドキュメントが更新されちょるばい!', '#kanshi', 'token');
}
sheet.getRange(1,1).setValue(lastUpdated.getTime());
}
요약
Google이 업데이트되면 알려주고 차이가 좋은 느낌을 받으면
이런 일을 하지 않아도 됐지만!
그리고 Google App Script에서도 간단한 HTML Beautifier와 같은 것을 원합니다.
Reference
이 문제에 관하여(Google Docs 업데이트를 모니터링하고 업데이트가 있으면 Gist로 퍼져 차이를 확인합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tanjo/items/e93f8f01e3fe243e30f8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Google Docs 업데이트를 모니터링하고 업데이트가 있으면 Gist로 퍼져 차이를 확인합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tanjo/items/e93f8f01e3fe243e30f8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)