少しasana APIを触る機会があったのでメモ…
Tokenの取得
My Profile Settings→Apps→Manage Developer Apps→Create New Personal Access Tokenで取得できます
参考:https://asana.com/ja/guide/help/api/api
基本的なコード
UrlFetchApp.fetch
で渡している引数のURLを取得したい情報によって変えるだけです。(※URLの詳細は後述)
var SP = PropertiesService.getScriptProperties();
var TOKEN = SP.getProperty("TOKEN");
var URL = SP.getProperty("URL");
function getTask() {
var data = getAsana(URL);
Logger.log(data);
}
function getAsana(url) {
var headers = getHeaders();
var options = getOptions(headers);
var url = url;
var response = UrlFetchApp.fetch(url, options);
var jobj = JSON.parse(response);
var data = jobj["data"];
return data;
}
function getHeaders() {
var headers = {
Authorization: "Bearer " + TOKEN,
};
return headers;
}
function getOptions(headers) {
var options = {
method: "get",
contentType: "application/json",
headers: headers,
muteHttpExceptions: true,
};
return options;
}
目的別URL一覧
UrlFetchApp.fetch
に渡すURLの一覧です。使用頻度が高そうなものをまとめました。
※asanaにログインした状態で開くと情報を確認できます。
目的 | URL |
---|---|
ワークスペース一覧を取得する | https://app.asana.com/api/1.0/workspaces |
プロジェクト一覧を取得する | https://app.asana.com/api/1.0/projects |
プロジェクトを指定してタスク一覧を取得する | https://app.asana.com/api/1.0/projects/project-id/tasks |
プロジェクトを指定してセクション一覧を取得する | https://app.asana.com/api/1.0/projects/project-id/sections |
タスクを指定して更新履歴一覧を取得する | https://app.asana.com/api/1.0/tasks/task-id/stories |
タスクを指定してサブタスクを取得する | https://app.asana.com/api/1.0/tasks/task-id/subtasks |
タグ一覧を取得する | https://app.asana.com/api/1.0/tags |
ユーザ一覧を取得する | https://app.asana.com/api/1.0/users |
自分のユーザ情報を取得する | https://app.asana.com/api/1.0/users/me |
ユーザのタスクリスト情報を取得 | https://app.asana.com/api/1.0/users/user-id/user_task_list?workspace=workspace-id |
ユーザのタスクリストを取得 | https://app.asana.com/api/1.0/user_task_lists/task-list-id/tasks |
参考
API Reference