Javascript 使用Mailjet时出现问题';s contactdata/contactID API端点

Javascript 使用Mailjet时出现问题';s contactdata/contactID API端点,javascript,api,put,mailjet,Javascript,Api,Put,Mailjet,我花了几天的时间研究如何使用Google Apps脚本更新Mailjet联系人属性,而Mailjet API端点总是返回错误400,无论我在数据中输入了什么。即使使用cURL并遵循mailjetapi示例,它也会失败,出现错误400。我真的不知道该怎么做才能摆脱这一切,并能走得更远 C:\WINDOWS\system32>curl -s -X PUT --user "publicKey-xxxx:secretKey-yyyy" https://api.mailjet.com/v3/REST

我花了几天的时间研究如何使用Google Apps脚本更新Mailjet联系人属性,而Mailjet API端点总是返回错误400,无论我在数据中输入了什么。即使使用cURL并遵循mailjetapi示例,它也会失败,出现错误400。我真的不知道该怎么做才能摆脱这一切,并能走得更远

C:\WINDOWS\system32>curl -s -X PUT --user "publicKey-xxxx:secretKey-yyyy" https://api.mailjet.com/v3/REST/contactdata/38398922 -H 'Content-Type: application/json' -d '{ "Data" : [{ "Name" : "genre", "Value" : "Homme" }, { "Name" : "age", "Value" : "20" }] }' 
答复:

{ "ErrorInfo" : "", "ErrorMessage" : "Invalid json input: property \"\" not found at stream position 5", "StatusCode" : 400 
是否有人已经面临此问题并找到解决此错误的方法?我真的认为这个API调用在Mailjet端根本不起作用

谢谢! 亲切问候,


克里斯托夫已经有一段时间了,但为了记录。。。 我也一直面临这个问题(在Windows上使用curl命令行工具)

在我的例子中,我必须用双引号代替单引号,在JSON中,我必须转义双引号。在你这样的情况下:

curl -s -X PUT --user "publicKey-xxxx:secretKey-yyyy" https://api.mailjet.com/v3/REST/contactdata/38398922 -H "Content-Type: application/json" -d "{ \"Data\" : [{ \"Name\" : \"genre\", \"Value\" : \"Homme\" }, { \"Name\" : \"age\", \"Value\" : \"20\" }] }" 

试试看…

我遇到了这个问题,发现我需要将“Content Type”头添加为“application/json”到请求中