【问题标题】:Trying to pass input_data as a json request for API尝试将 input_data 作为 API 的 json 请求传递
【发布时间】:2020-08-07 05:32:42
【问题描述】:

下面是我的 API,我试图从包含正确电子邮件地址、名字和姓氏的输入数据表中传递信息,但是当我将其传递给 api 时,它没有得到解决。我在这里做错了什么

导入请求

url = "https://api.ZZZ.us/v2/users"

payload = "{\r\n \"action\": \"create\",\r\n \"user_info\": {\r\n
\"email\": \"input_data['emailaddress']\",\r\n \"type\": 1,\r\n \"first_name\": \"input_data['firstname']\",\r\n \"last_name\": \"input_data['lastname']\"\r\n }\r\n}" headers = { '接受': "应用程序/json, 应用程序/xml", '内容类型':“应用程序/json”, '授权': "承载者 XXXXX", '缓存控制':“无缓存”, '邮递员令牌':“ab32d014-97fb-499e-8adf-c1baf49871e2” }

response = requests.request("POST", url, data=payload, 标头=标头)

print(response.text) 输出 = {'id': 1333121, 'response': 响应文本}

【问题讨论】:

    标签: zapier


    【解决方案1】:

    您需要确保您的 JSON 有效。出于这个原因,请好好编码。我试过这个并解决了。你应该发送这个。

    {
        "action": "create",
        "user_info": {
            "email": "mymail@gmail.com",
            "first_name": "mike",
            "last_name": "tyson"
        }
    }
    

    这是代码修改。

    import requests
    import json
    
    url = "https://enzi2vbg2aau9.x.pipedream.net/"
    
    input_data = ["mymail@gmail.com", 'mike', 'tyson']
    
    payload = json.dumps({
      "action": "create",
      "user_info": {
        "email": input_data[0],
        "first_name": input_data[1],
        "last_name": input_data[2]
      }
    })
    
    headers = { 
      'Accept': "application/json, application/xml", 
      'Content-Type': "application/json", 
      'Authorization': "Bearer XXXXX", 
      'cache-control': "no-cache", 
      'Postman-Token': "ab32d014-97fb-499e-8adf-c1baf49871e2" 
      }
    
    response = requests.request("POST", url, data=payload, headers=headers)
    
    print(response.text) # output = {'id': 1333121, 'response': response.text}
    

    如果您需要从其他地方发送一个字符串作为您的示例有效负载,那么您需要使用 json.loads(payload) 请参阅此示例。

    payload = '''{
        "action": "create",
        "user_info": {
            "email": "mymail@gmail.com",
            "first_name": "mike",
            "last_name": "tyson"
        }
    }'''
    
    payload = json.loads(payload)
    payload = json.dumps(payload)
    

    【讨论】:

    • 感谢您的意见,一切顺利。 import json 成功了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多