Chatworks API로 작업을 GoogleTask에 복사
8878 단어 ChatworkGoogleAppsScriptapi
Chatwork에서 작업 가져오기
chatwork.gsfunction GetCWTasks() {
// プロパティ値取得
const token = PropertiesService.getScriptProperties().getProperty('CW_TOKEN');
// パラメータセット
var params = {
headers : {"X-ChatWorkToken" : token},
method : "get"
};
// 自分の情報を取得する
var url = "https://api.chatwork.com/v2/my/status";
// JSON形式で取得
var strRespons = UrlFetchApp.fetch(url, params);
var json = JSON.parse(strRespons.getContentText());
// エラーのある場合
if (json['errors']){
Logger.log("ChatWorkタスクの取得に失敗しました。");
return null;
}
// 未完タスクがある場合
if (json['mytask_num'] > 0){
// タスク一覧
url = "https://api.chatwork.com/v2/my/tasks";
// JSON取得
strRespons = UrlFetchApp.fetch(url, params);
json = JSON.parse(strRespons.getContentText());
// タスク取得
return json;
}
return null;
}
토큰은 프로젝트의 속성에 쓰여져 있기 때문에 그것을 얻으려고합니다.
토큰의 발행 방법에 대해서는 공식 문서 에 있으므로 그쪽을 참조.
Google 작업에 추가
function AddGoogleTask(task) {
//UNIXTime(秒)->Date(ミリ秒)変換
var limitDate = new Date(task['limit_time'] * 1000);
var task = {
title: task['room']['name'],
notes: task['body'],
due: Utilities.formatDate(limitDate, "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'")
};
// Googleタスク登録
var taskListId = PropertiesService.getScriptProperties().getProperty('LIST_ID');
var res = Tasks.Tasks.insert(task, taskListId);
if (res.id != null){
Logger.log("TaskID: " + res.id);
} else {
Logger.log("タスク書き込みエラー");
}
}
GAS 편집기 메뉴의 리소스 > Google 확장 서비스에서 'Tasks API'를 사용하도록 설정합니다.
Chatworks 측에서 취할 수 있는 날짜가 UNIX 시간이므로 GoogleTask에 맞게 ISO 8601 형식으로 변환하여 등록해야 합니다.
오류 처리는 적절합니다 ...
문제 발생
무려 Chatwork 측에서 기한 시간을 지정하고 있는데… GoogleTask에는 설정할 장소가 없다!
잘 보면 GoogleTask 측에는 시작 시간 설정 항목이 있지만,
Chatwork의 작업 시간은 기한이므로 의미가 다릅니다 ...
(이런 것 만들기 전에 알아야 할데~~!)
그리고는 기입 끝난 Chatwork 태스크의 ID를 스프레드 시트에 기입해 보존해 두는 구조도 필요합니다만,
시간은 우선 두고 있어 태스크를 한 곳에 수집해 두고 싶은 분에게는 좋을지도 모릅니다.
… 그런데 자신의 태스크 관리는 어떻게 할까.
Reference
이 문제에 관하여(Chatworks API로 작업을 GoogleTask에 복사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/itomaki0801/items/51c4b150d9e6060f88a8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
function GetCWTasks() {
// プロパティ値取得
const token = PropertiesService.getScriptProperties().getProperty('CW_TOKEN');
// パラメータセット
var params = {
headers : {"X-ChatWorkToken" : token},
method : "get"
};
// 自分の情報を取得する
var url = "https://api.chatwork.com/v2/my/status";
// JSON形式で取得
var strRespons = UrlFetchApp.fetch(url, params);
var json = JSON.parse(strRespons.getContentText());
// エラーのある場合
if (json['errors']){
Logger.log("ChatWorkタスクの取得に失敗しました。");
return null;
}
// 未完タスクがある場合
if (json['mytask_num'] > 0){
// タスク一覧
url = "https://api.chatwork.com/v2/my/tasks";
// JSON取得
strRespons = UrlFetchApp.fetch(url, params);
json = JSON.parse(strRespons.getContentText());
// タスク取得
return json;
}
return null;
}
function AddGoogleTask(task) {
//UNIXTime(秒)->Date(ミリ秒)変換
var limitDate = new Date(task['limit_time'] * 1000);
var task = {
title: task['room']['name'],
notes: task['body'],
due: Utilities.formatDate(limitDate, "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'")
};
// Googleタスク登録
var taskListId = PropertiesService.getScriptProperties().getProperty('LIST_ID');
var res = Tasks.Tasks.insert(task, taskListId);
if (res.id != null){
Logger.log("TaskID: " + res.id);
} else {
Logger.log("タスク書き込みエラー");
}
}
GAS 편집기 메뉴의 리소스 > Google 확장 서비스에서 'Tasks API'를 사용하도록 설정합니다.
Chatworks 측에서 취할 수 있는 날짜가 UNIX 시간이므로 GoogleTask에 맞게 ISO 8601 형식으로 변환하여 등록해야 합니다.
오류 처리는 적절합니다 ...
문제 발생
무려 Chatwork 측에서 기한 시간을 지정하고 있는데… GoogleTask에는 설정할 장소가 없다!
잘 보면 GoogleTask 측에는 시작 시간 설정 항목이 있지만,
Chatwork의 작업 시간은 기한이므로 의미가 다릅니다 ...
(이런 것 만들기 전에 알아야 할데~~!)
그리고는 기입 끝난 Chatwork 태스크의 ID를 스프레드 시트에 기입해 보존해 두는 구조도 필요합니다만,
시간은 우선 두고 있어 태스크를 한 곳에 수집해 두고 싶은 분에게는 좋을지도 모릅니다.
… 그런데 자신의 태스크 관리는 어떻게 할까.
Reference
이 문제에 관하여(Chatworks API로 작업을 GoogleTask에 복사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/itomaki0801/items/51c4b150d9e6060f88a8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Chatworks API로 작업을 GoogleTask에 복사), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/itomaki0801/items/51c4b150d9e6060f88a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)