Clickup 按列表中的状态获取任务

jda*_*vis 5 urlfetch google-apps-script clickup-api

我想从 Clickup 中的列表中检索指定状态的任务,但我一直收到空响应。

资源 - https://jsapi.apiary.io/apis/clickup20/reference/0/tasks/get-tasks.html 在 api 文档中,它说您可以使用状态数组按状态查询。这是我的代码。

const clickupToken = "pk_*****************"
const clickupReqBody = { "Authorization": clickupToken }
const clickupUrl = "https://api.clickup.com/api/v2/"


function getTasks() {
  var listId = "******";
  var statusArray = ["Backlog","Open"];
  var encodedStatusArray = encodeURIComponent(statusArray)
  var urlAddition = "list/" + listId + "/task?archived=false&subtasks=true&statuses%5B%5D=" + encodedStatusArray
  var params = {
    "urlAddition": urlAddition,
    "method": "GET"
  }
  var res = fetchClickupObject(params)
  Logger.log(res)
}

function fetchClickupObject(params) {
  var url = clickupUrl + params.urlAddition;
  Logger.log(params)
  var response = UrlFetchApp.fetch(url, {
    "headers": clickupReqBody,
    "method": params.method
  });
  return response;
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了状态的所有上、下和正确的大小写。

当我登录时,即使单击时有待办事项和打开状态中的任务,res它也会返回。{"tasks":[]}

jda*_*vis 10

经过与 Clickup 的技术团队反复讨论后,他们建议我尝试为我想要添加的每个状态附加 status%5B%5D=statusName。工作版本看起来像这样。

const clickupToken = "pk_*****************"
const clickupReqBody = { "Authorization": clickupToken }
const clickupUrl = "https://api.clickup.com/api/v2/"


getTasks() {
    const listId = '****';
    const statusArray = ['Backlog', 'Todo'];
    const statusString = statusArray.map((el) => `&statuses%5B%5D=${el}`).join('');

    const url = `${this.clickupUrl}/list/${listId}/task?archived=false&page=&order_by=&reverse=&subtasks=${statusString}`;
    const params = { url, method: 'GET' };
    const res = this.fetchClickupObject(params);
  }

fetchClickupObject(params: any): Promise<any> {
    const response = fetch(params.url, {
      headers: this.clickupReqBody,
      method: params.method,
    });
    return response;
  }
Run Code Online (Sandbox Code Playgroud)