Trello - 同时更新卡片位置和颜色
Trello - Updating a cards position and color at the same time
我正在尝试根据一些结果更新我的棋盘,但很难找到同时更新卡片位置和颜色的最佳方法。这个想法是根据结果更新卡片,红色并在顶部以引起我的注意;但如果一切正常,那么绿色和底部。
到目前为止我有:
def updateCard():
url = f"https://api.trello.com/1/cards/{CARD_ID}/cover"
headers = {
"Accept": "application/json"
}
query = {
'key': API_KEY,
'token': OAUTH_TOKEN,
'name': 'New Title',
'desc': 'New Description',
'pos': 'bottom',
'value': {'color': 'green'}
}
response = requests.request(
"PUT",
url,
headers=headers,
json=query
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
伪代码来自:https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-put并添加了我自己的变量
我注意到要更改颜色,我需要在响应中传递 json 变量,并让 URL 以“/cover”结尾。但是,这在尝试更新位置时不起作用。如果我从 URL 中取出 /cover
,位置就会更新。有没有办法同时更新。
提前致谢!
我不知道 Trello 的 API,如果不设置开发者帐户我无法对其进行测试,但我的直觉是您可以像这样更改您的查询:
. . .
url = f"https://api.trello.com/1/cards/{CARD_ID}"
. . .
query = {
'key': API_KEY,
'token': OAUTH_TOKEN,
'value': {
'name': 'New Title',
'desc': 'New Description',
'pos': 'bottom',
'cover': {'color': 'green'}
}
}
看起来“cover”是一个嵌套在“card”对象下的对象,所以你可以在那个字段中放置一个对象。当你更新卡片的位置时,你应该直接去卡片对象,而不是 /cover
字段。如果您希望您的请求仅限于卡片封面,则可以使用 /cover
端点。
编辑:尝试新的请求格式
到目前为止这个问题的解决方法(如果有人有更好的语法,请随时添加评论):
url = f"https://api.trello.com/1/cards/{CARD_ID}"
url_cover = f"https://api.trello.com/1/cards/{CARD_ID}/cover"
headers = {
"Accept": "application/json"
}
query = {
'key': API_KEY,
'token': OAUTH_TOKEN,
'name': 'New Title 3',
'desc': 'New Description',
'pos': 'top'
}
json = {
'key': API_KEY,
'token': OAUTH_TOKEN,
'value': {
'brightness': 'dark',
'color': card_color,
'size': 'full'}}
response = requests.request(
"PUT",
url,
headers=headers,
params=query
)
response = requests.request(
"PUT",
url_cover,
headers=headers,
json=json
)
我正在尝试根据一些结果更新我的棋盘,但很难找到同时更新卡片位置和颜色的最佳方法。这个想法是根据结果更新卡片,红色并在顶部以引起我的注意;但如果一切正常,那么绿色和底部。
到目前为止我有:
def updateCard():
url = f"https://api.trello.com/1/cards/{CARD_ID}/cover"
headers = {
"Accept": "application/json"
}
query = {
'key': API_KEY,
'token': OAUTH_TOKEN,
'name': 'New Title',
'desc': 'New Description',
'pos': 'bottom',
'value': {'color': 'green'}
}
response = requests.request(
"PUT",
url,
headers=headers,
json=query
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
伪代码来自:https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-put并添加了我自己的变量
我注意到要更改颜色,我需要在响应中传递 json 变量,并让 URL 以“/cover”结尾。但是,这在尝试更新位置时不起作用。如果我从 URL 中取出 /cover
,位置就会更新。有没有办法同时更新。
提前致谢!
我不知道 Trello 的 API,如果不设置开发者帐户我无法对其进行测试,但我的直觉是您可以像这样更改您的查询:
. . .
url = f"https://api.trello.com/1/cards/{CARD_ID}"
. . .
query = {
'key': API_KEY,
'token': OAUTH_TOKEN,
'value': {
'name': 'New Title',
'desc': 'New Description',
'pos': 'bottom',
'cover': {'color': 'green'}
}
}
看起来“cover”是一个嵌套在“card”对象下的对象,所以你可以在那个字段中放置一个对象。当你更新卡片的位置时,你应该直接去卡片对象,而不是 /cover
字段。如果您希望您的请求仅限于卡片封面,则可以使用 /cover
端点。
编辑:尝试新的请求格式
到目前为止这个问题的解决方法(如果有人有更好的语法,请随时添加评论):
url = f"https://api.trello.com/1/cards/{CARD_ID}"
url_cover = f"https://api.trello.com/1/cards/{CARD_ID}/cover"
headers = {
"Accept": "application/json"
}
query = {
'key': API_KEY,
'token': OAUTH_TOKEN,
'name': 'New Title 3',
'desc': 'New Description',
'pos': 'top'
}
json = {
'key': API_KEY,
'token': OAUTH_TOKEN,
'value': {
'brightness': 'dark',
'color': card_color,
'size': 'full'}}
response = requests.request(
"PUT",
url,
headers=headers,
params=query
)
response = requests.request(
"PUT",
url_cover,
headers=headers,
json=json
)