python post请求传body参数,报参数错误解决方案——菜鸟的笨拙排雷之路

事情的起因是:有一个创建日程的接口,创建人和参与人,都需要websocket推送一条日程更新信息;现在要测试这个推送名单是否正确,所以要用python写一个创建日程的post请求,指定参与者,即下面代码中的attendees。

开始写好代码的时候,没有添加参与人,即 "attendees": [],跑下来没毛病,日程创建成功!

于是,接下来就添加了参与人,准备做最后一件事情,校验ws收到消息的名单是否和参与人一致;attendees参数如下:

"attendees": [{"cp_id": 154}, {"cp_id": 454}, {"cp_id": 356}]

问题来了!报错了!!!

content: {'code': 40099, 'msg': 'Invalid argument supplied for foreach()(0)', 'data': []}

只是添加上了attendees的值而已,刚才还能请求成功呢?

参数格式也是对的啊,把body拷贝到Apifox发送,日程是能创建成功的...... 于是我,除了傻眼只有迷茫好吗!先贴上代码:

def create_schedule(instance_id, cp_id):
    url = "http://cpapi.st1.2345.cn/widget/calendar_b/instances/%s/createSchedule?tdusername=&tdcpid=%s" % (instance_id, cp_id)
    body = {
        "summary": "test",
        "start_date": "2020-12-16 09:00",
        "end_date": "2020-12-17 10:00",
        "location": "",
        "repeat_type": -1,
        "remind_before_event_secs": 900,
        "attendees": [{"cp_id": 154}, {"cp_id": 454}, {"cp_id": 356}],
        "origin_start_date": "2020-12-16 09:00:00",
        "description": ""
    }

    response = requests.post(url,data=body)
    content = response.json()
    print("content:", content)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值