我正试图使用Python中的API将一个文件发布到sendinblue,并且正在努力放置什么而不是";数据集1";。如果我手动键入文件内容,但如果我指定了一个文件,它就可以工作——我尝试过csv、json、txt格式,但都不起作用。错误消息说"我们在你上传的文件中找不到任何有效的电子邮件或短信",我认为它不喜欢"filebody"格式。
我的代码如下:非常感谢您的帮助!
import requests
url = "https://api.sendinblue.com/v3/contacts/import"
payload = {
"listIds": [12],
"emailBlacklist": False,
"smsBlacklist": False,
"updateExistingContacts": True,
"emptyContactsAttributes": False,
"fileBody": "dataset1"
headers = {
"accept": "application/json",
"content-type": "application/json",
"api-key": "APIKEY"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
这应该可以工作。如果没有,你可以尝试其中的一些解决方案。
files = {'upload_file': open('file.txt','rb')}
url = "https://api.sendinblue.com/v3/contacts/import"
headers = {
"accept": "application/json",
"content-type": "application/json",
"api-key": "APIKEY"
}
response = requests.request("POST", url, files=files, headers=headers)
我认为您想要的是fileUrl
,而不是可以从这里引用的fileBody
。您提到,如果您手动键入内容,那么它可以正常工作。因此,请尝试在请求中使用fileUrl
参数的url(可公开访问(,并让我知道它是否适用于您!