You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python字典中的ID拼接为逗号分隔字符串用于Zendesk批量更新?

如何构造Zendesk批量更新的多ID URL?

你遇到的问题很典型——循环里每次给id_merged赋值单个ID,导致变量被不断覆盖,最后只留下最后一个工单ID。要实现像https://propertypro.zendesk.com/api/v2/tickets/update_many.json?ids=4249,4089这样的URL,我们需要先收集所有工单ID,再把它们拼接成逗号分隔的字符串。

解决步骤

  1. 收集所有工单ID到列表
    先从搜索结果的data['results']里提取所有ID,存到一个列表中:

    ticket_ids = [result['id'] for result in data['results']]
    

    这行代码用列表推导式快速遍历所有结果,把每个工单的id提取出来,得到类似[4249, 4089]的列表。

  2. 将列表转为逗号分隔的字符串
    因为URL里需要的是字符串形式的4249,4089,所以我们把列表里的数字转成字符串后用逗号拼接:

    id_merged = ','.join(map(str, ticket_ids))
    
    • map(str, ticket_ids)把列表里的每个数字转成字符串
    • ','.join(...)用逗号把这些字符串连接起来,得到最终需要的ID字符串
  3. 优化批量更新代码
    原来的代码循环每个ID单独发请求,其实Zendesk的update_manyAPI支持一次更新多个工单,完全不需要循环。优化后的完整代码如下:

    from test_search import data
    import json
    import requests
    
    # 收集所有需要更新的工单ID
    ticket_ids = [result['id'] for result in data['results']]
    id_merged = ','.join(map(str, ticket_ids))
    
    print("**Start**")
    print(f"准备更新的工单ID:{id_merged}")
    
    body = 'Test ticket'
    # 构造批量更新的请求数据
    data_comment = {'ticket': {'comment': {'body': body}}}
    payload = json.dumps(data_comment)
    
    # 构造带多ID的批量更新URL
    url = f'https://propertypro.zendesk.com/api/v2/tickets/update_many.json?ids={id_merged}'
    user = 'some email'
    pwd = 'some password'
    headers = {'content-type': 'application/json'}
    
    # 发送一次批量更新请求
    response = requests.put(url, data=payload, auth=(user, pwd), headers=headers)
    
    # 检查请求状态
    if response.status_code != 200:
        print('Status:', response.status_code, 'Problem with the request. Exiting.')
        exit()
    
    # 输出成功提示
    print(f'Successfully added comment to tickets #{id_merged}')
    

为什么原来的代码不行?

你之前的循环里,每次执行id_merged = (result['id'])都会把新的单个ID覆盖掉之前的值,所以最后id_merged只会保留最后一个遍历到的ID。而我们需要先把所有ID收集起来,再统一拼接,这样才能得到所有ID组成的字符串。

另外,用批量更新API只需要发送一次请求,比循环发送多次请求更高效,也更符合Zendesk API的设计意图。

内容的提问来源于stack exchange,提问作者Adnan Zahry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:41:23