trello API在python中为卡片添加标签



我有一个带有列表的trello板,用python和标签手动创建了一些卡片。我可以使用python获取card_id和label_id。

但我不知道如何在现有卡上添加现有标签。API的示例代码描述为:

import requests
url = "https://api.trello.com/1/cards/{id}/idLabels"
query = {
'key': 'APIKey',
'token': 'APIToken'
}
response = requests.request(
"POST",
url,
params=query
)

我试过了:

main_trello_endpoint = "https://api.trello.com/1/"
def add_label_to_card(card_id, label_id):
add_label_endpoint = main_trello_endpoint+"cards/"+card_id+"/"+label_id
querystring =  {"key":trello_key,"token": trello_token}
response = requests.post(add_label_endpoint, params= querystring)
return response
add_label_to_card(existing_card_id, existing_label_id))

响应为404我这边的误解是什么?

发送请求的url+请求方法不正确

很明显,有一个终点可以像你这样做,对不起。


您需要发送一个PUT请求,其中idLabels是PUT数据中的一个参数。

https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-卡片id放入

您需要将request.put与标签对象本身+您想要的标签ID一起使用

data = {
**current_label,
"idLabels": ",".join(current_label.idLabels + [new_label_ids])
}
request.put("trello_api/cards/card-id/", data=data, params=querystring)

对于您发布的端点,您的url似乎是错误的。它只需要一个卡id,您需要将该值作为查询参数发布。(这很荒谬,但事实就是如此(

def add_label_to_card(card_id, label_id):
url = f"https://api.trello.com/1/cards/{card_id}/idLabels"
params = {**auth_params, "value": label_id}
response = request.post(url, params=params)
# preferably some cleanup and status checks
return ...

如果这也不起作用,请尝试将data={"value": label_id}放到相同的url

最新更新