Что именно возвращает Trello REST API, когда я запрашиваю платы?

#node.js #rest #trello

#node.js #rest #trello

Вопрос:

Вопрос

Я пытаюсь запросить все платы, в которых находится моя учетная запись. Когда я делаю запрос, я делаю это с пользовательским пакетом классов, который я создал. Я знаю, что это работает, потому что оно что-то возвращает, но я просто не уверен, где искать фактическую информацию о моих платах.

Код

Вот на что я указываю свой запрос.

GET https://api.trello.com/1/members/me/boards?fields=name,urlamp;key=${this.key}amp;token=${this.token}

Это то, что я использую в своем пакете для отправки запроса.

 getBoards(callback) {
        fetch(`https://api.trello.com/1/members/me/boards?fields=name,urlamp;key=${this.key}amp;token=${this.token}`,{
            method: 'GET'
        })
            .then(r => {
                callback(r,false)
            })
            .catch(e => {
                callback(null,e)
            })
    }
 

И это то, что я использую для запроса функции пакета.

 const boards = trello.getBoards((boards,err) => {
            if (err) {
              console.log(err);
            } else {
              // do stuff with the boards
            }
          })
 

Результаты

 Response {
  size: 0,
  timeout: 0,
  [Symbol(Body internals)]: {
    body: Gunzip {
      _writeState: [Uint32Array],
      _readableState: [ReadableState],
      readable: true,
      _events: [Object: null prototype],
      _eventsCount: 6,
      _maxListeners: undefined,
      _writableState: [WritableState],
      writable: false,
      allowHalfOpen: true,
      _transformState: [Object],
      _hadError: false,
      bytesWritten: 0,
      _handle: [Zlib],
      _outBuffer: <Buffer 5b 7b 22 6e 61 6d 65 22 3a 22 44 69 73 63 70 6c 69 6e 65 20 44 61 74 61 62 61 73 65 22 2c 22 69 64 22 3a 22 35 66 61 38 30 63 34 61 61 64 66 30 39 61 ... 16334 more bytes>,
      _outOffset: 0,
      _chunkSize: 16384,
      _defaultFlushFlag: 2,
      _finishFlushFlag: 2,
      _defaultFullFlushFlag: 3,
      _info: undefined,
      _level: -1,
      _strategy: 0,
      [Symbol(kCapture)]: false
    },
    disturbed: false,
    error: null
  },
  [Symbol(Response internals)]: {
    url: 'https://api.trello.com/1/members/me/boards?fields=name,urlamp;key=xxxxxxxxamp;token=xxxxxxxx',
    status: 200,
    statusText: 'OK',
    headers: Headers { [Symbol(map)]: [Object: null prototype] },
    counter: 0
  }
}
 

У меня есть четыре платы, и я ищу ИДЕНТИФИКАТОР конкретной платы. Кто-нибудь знает, что это возвращает? Заранее спасибо.

Ответ №1:

Я разобрался с проблемой. Похоже, что пакет, который я использовал, node-fetch имел какое-то странное отношение к обещаниям в ответе. По сути, то, что я сделал, чтобы решить эту проблему, — это преобразовать ответ в обещание, вернуть его, а затем получить его снова, что вернет фактический ответ. Это не имеет ничего общего с trello или любым другим REST API, но при использовании node-fetch мне нужно выполнить это обещание.

 fetch(`https://api.trello.com/1/cards/${card.id}/customFieldItems?key=${process.env.TRELLOAPIKEY}amp;token=${process.env.TRELLOAPITOKEN}`,{
  method: `GET`
})
  .then(response2 => response2.text()) // Important Line
  .then(res2 => {
    res2 = JSON.parse(res2); // Variable res2 will be the data
  })
  .catch(err2 => {
    console.log(err2);
  })