试图将输入数据作为一个json请求传递给API。

问题描述 投票:0回答:1

下面是我的API,我试图从一个输入数据表中传递信息,其中包含正确的电子邮件地址,名字和Lastname,但是当我把这些信息传递给API时,它没有得到解决。

输入请求

url = "https:/api.ZZZ.usv2users。"

payload = "{\r\n \"action\": \"create",\rn \"user_info"。{"email": \"input_data['email地址']\","类型"。1, \rrn \"first_name": \"input_data['firstname']\","姓","姓"。 \"input_data['lastname']\""headers = { 'Accept': "applicationjson, applicationxml", "Content-Type": "applicationjson", "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}。

zapier
1个回答
1
投票

你需要确保你的JSON是有效的。因此,请对它进行良好的编码。我试过了,成功了,你应该发这个。

{
    "action": "create",
    "user_info": {
        "email": "[email protected]",
        "first_name": "mike",
        "last_name": "tyson"
    }
}

这是代码的修改。

import requests
import json

url = "https://enzi2vbg2aau9.x.pipedream.net/"

input_data = ["[email protected]", '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}

如果你需要从其他地方发送一个字符串,作为你的例子payload,那么你需要使用json.loads(payload)请看这个例子。

payload = '''{
    "action": "create",
    "user_info": {
        "email": "[email protected]",
        "first_name": "mike",
        "last_name": "tyson"
    }
}'''

payload = json.loads(payload)
payload = json.dumps(payload)
© www.soinside.com 2019 - 2024. All rights reserved.