我如何自动化这个 sendingblue api?

How do I automate this sendinblue api?

正在尝试自动将联系人添加到 sendinblue 的 api。他们网站上给出的示例显示添加电子邮件,然后将其添加到您帐户的列表中。

我已经尝试过 fstrings 和 .format(email, industry, role) 但由于某种原因它总是返回错误。

这是他们网站上显示的有效内容。

import requests

url = "https://api.sendinblue.com/v3/contacts"

payload = "{\"email\":\"someonesEmail97@gmail.com\",\"listIds\":[1,4],\"updateEnabled\":false}"
headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

response = requests.request("POST", url, data=payload, headers=headers

这是我试过的

import requests

url = "https://api.sendinblue.com/v3/contacts"

payload = "{\"email\":\f"{email}"\",\"listIds\":[f"{industry}",f"{role}"],\"updateEnabled\":false}"
headers = {
    'accept': "application/json",
    'content-type': "application/json"
    }

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

我想在我的网站的注册部分使用它,这样它就会抓取他们经过身份验证的电子邮件,并将其添加到我设置的适当列表中。但是我从使用 fstrings 得到的结果是指向电子邮件字段的终端中的无效语法。 然后我尝试了 .format 并且在终端上没有显示任何错误但是在网页上我得到了这个错误


payload = "{\"email\":\{}\",\"listIds\":[{},{}],\"updateEnabled\":false}".format(email, industry, role)

/accounts/signup/activate/ 处的按键错误 “'email'” 指向负载所在的行。

我错过了什么?感谢阅读

what I get back from using fstrings is invalid syntax in the terminal pointing to the email field

那是因为您的引号不匹配,并且您试图以一种奇怪的、无效的方式创建 f 字符串。

试试这个:

payload = f'{{"email":"{email}","listIds":[{industry},{role}],"updateEnabled":false}}'