Python Trello API для обновления цвета обложки на карточке

#python #api #trello

#python #API #trello

Вопрос:

Trello добавили возможность размещать «обложку» на отдельных карточках. Это может быть сплошной цвет или изображение.

Согласно их API, вы должны иметь возможность обновить это с помощью запроса PUT. Смотрите здесь, в котором говорится об обновлении карточки и включена ‘обложка’. Карточка содержит ряд элементов данных (json), таких как:

«desc»: «старый desc»,

«обложка»: { «яркость»: «свет», «цвет»: нуль, «idAttachment»: нуль, «idUploadedBackground»: нуль, «размер»: «нормальный» },

Я могу обновить другие данные на карточке, например, ‘desc’ через PUT, например, следующим образом:

 import requests
url = "https://api.trello.com/1/cards/{myCardID}"
query = {'key': "{myAPIkey}", 'token': "{myToken}"}
payload = {'desc': 'new desc',}

response = requests.request("PUT", url, params=query, data=payload)
print(response.text)
  

Это успешно обновляет desc до ‘new desc’ следующим образом:

«desc»: «новый desc»,

Я не могу понять, что мне нужно передать, чтобы обновить цвет обложки. Я думаю, что смогу передать это в приведенном выше коде, но это не работает.

 payload = {'cover': {'color': 'purple'} }
  

Я всегда получаю null для цвета в объекте обложки.

«обложка»: { «яркость»: «свет», «цвет»: нуль, «idAttachment»: нуль, «idUploadedBackground»: нуль, «размер»: «нормальный» },

Что мне нужно передать в качестве данных / полезной нагрузки в моем запросе PUT????

примечание: допустимыми цветами являются «розовый», «желтый», «лаймовый», «синий», «черный», «оранжевый», «красный», «фиолетовый», «небесный», «зеленый»

Ответ №1:

следующий код сработал для меня:

 headers = {
   "Accept": "application/json"
}

url = "https://api.trello.com/1/cards/{card_id}/cover"

params = {"key":key,"token":token,"value":{'idAttachment': None,
 'color': 'purple',
 'idUploadedBackground': None,
 'size': 'full',
 'brightness': 'light'}}

response = requests.request("PUT", url, headers=headers, json=params)
  

Замените правильный идентификатор карты в URL,

Удачи

Комментарии:

1. Ага … спасибо!! Недостающая ссылка… похоже, что их API должен передавать ‘обложку’ через параметр ‘json’ в запросе, а не через параметры или параметры данных (как используются в документации Trello API / примере кода). Изменение параметра на json и оставление URL в качестве конечной точки карты позволяет мне одновременно изменять любые данные карты.

2. Да, их документация неточна