Как установить цвет обложки карты в Trello API?

Сводка проблемы:
Возникла проблема с изменением цвета обложки карточки Trello.

Похожие вопросы в StackOverflow
Практически идентичный вопрос здесь. Я безуспешно пробовал ответ, предложенный в этом посте. Симптомы аналогичны описанным ниже.

Используемые технологии


Что я пробовал:
Я использую службу Обновить карту из Trello API. Этот сервис сформировался так:

https://api.trello.com/1/card/24CHARCARDNO?key=32CHARKEY&token=64CHARTOKEN&cover={"color:","green"}
---------------------- - ---- ------------     ---------       ----------- ------------------------
     URL END POINT     |  |       |                |                 |                 |
                       |  |       |                |                 |                 |
API VERSION------------+  |       |                |                 |                 |
                          |       |                |                 |                 |
API-----------------------+       |                |                 |                 |
                                  |                |                 |                 |
WHICH CARD -----------------------+                |                 |                 |
                                                   |                 |                 |
APP KEY -------------------------------------------+                 |                 |
                                                                     |                 |
USER AUTHENTICATION TOKEN -------------------------------------------+                 |
                                                                                       |
PAYLOAD TO CHANGE CARD COVER COLOR ----------------------------------------------------+
  • Я попытался использовать Postman, чтобы отправить это как строку PUT + url выше.
  • Я пробовал запустить свой код Python, используя библиотеку URLLIB3 и службу .request.

В обоих случаях я получаю от Trello то, что выглядит как хороший JSON, но на самом деле карта не получает назначенный цвет. Что интересно, возвращаемый JSON показывает, что атрибут карты не изменился. В приведенном ниже фрагменте я отправил розовый в качестве цвета, но в возвращенном JSON указано зеленое. Trello дальтоник? ;-)

"cover": {
    "idAttachment": null,
    "color": "green",
    "idUploadedBackground": null,
    "size": "full",
    "brightness": "light"
},

Чем вы можете помочь

Я искал примеры использования Trello API для этого атрибута, но не видел, чтобы что-то работало, и документация - единственный источник правды, который у меня есть. Может ли кто-нибудь указать мне на пример или, возможно, указать на очевидную вещь, которую я упускаю?

Спасибо,

Павел


person Paul Mullen    schedule 26.01.2021    source источник


Ответы (1)


Проблема в том, что цвет нужно передавать в теле запроса. Схема, которую я пробовал выше, подходит для GET, но не для PUT. Итак, вот итоговый синтаксис:

curl -H 'Content-Type: application/json' -X PUT -d '{"cover" : {"color":"pink"}}' 'https://api.trello.com/1/cards/24CHARCARDNUMBER?token=64CHARTOKEN&key=32CHARKEY'

Обратите особое внимание на то, где 'и принадлежат'.

Обратите внимание, что хотя JSON может официально принимать квадратные скобки для массива из одного элемента, API Trello это не понравилось:

{"cover" : ["color":"pink"] } не работает, но {"cover" : {"color":"pink"}} работает.

person Paul Mullen    schedule 28.01.2021