我正在尝试在Javascript中设置Post调用以在我的hubspot帐户中创建联系人。我是Rest API的新手,以及这一切是如何工作的。这就是文档中关于这样做的内容。
必需参数如何使用说明 HubSpot API密钥----- hapikey = X ----在请求URL中使用您正在调用的门户的HubSpot API密钥。
联系JSON -----在请求正文中使用-----这是表示您正在创建的联系人的JSON。这应该是下面给出的代码示例中的格式。
电子邮件地址-----在请求正文中使用-----请注意,电子邮件地址是您在创建新联系人时向HubSpot发送的JSON的必需部分。 可选参数如何使用说明
无无此方法无可选参数。
POST到:https://api.hubapi.com/contacts/v1/contact/?hapikey=demo
的示例网址我得到了示例,我可以使用hapikey = demo进行调用。我不明白的是请求体中使用的。这完全意味着什么,我该如何实现它。我找不到任何关于将JSON实际加载到post调用上的文档。
这就是我所拥有的
var testContact = '{"properties":['+
'{"property":"email","value":"testing@hubspot.com"},'+
'{"property":"firstname","value":"Peter"},'+
'{"property":"lastname","value":"xxxxx"}]}';
var test = JSON.parse(testContact);
//alert(test.properties[1].value);
//console.log(test.properties[1].firstname);
$.post("https://api.hubapi.com/contacts/v1/contact/?hapikey=demo&contact=" + testContact + "&email=" + test.properties[0].value,function(result){
console.log(result);
});
我一直收到来自服务器的错误请求,所以它必须连接,我设置错误的信息。
更新
所以我un“字符串化”,当我尝试传递它时,有趣的是我只得到一个对象,而不是整个字符串。
var testContact = {
"properties": [
{
"property": "email",
"value": "testingapis@hubspot.com"
},
{
"property": "firstname",
"value": "Adrian"
},
{
"property": "lastname",
"value": "Mott"
}]};
$.post("https://api.hubapi.com/contacts/v1/contact/?hapikey=3fd8a881-2859-4c85-bec8-690bd989a889&contact=" + testContact + "&email=" + testContact.properties[0].value,function(result){
console.log(result);
});
答案 0 :(得分:0)
您的JSON不正确,无需"字符串化"然后解析它......只需发送一个这样的对象:
我知道你看过这个页面:http://developers.hubspot.com/docs/methods/contacts/create_contact
尝试准确复制他们在该页面上拥有的对象,除了取消您不需要发送的属性外,不要修改它...
{
"properties": [
{
"property": "email",
"value": "testingapis@hubspot.com"
},
{
"property": "phone",
"value": "555-122-2323"
},
{
"property": "address",
"value": "25 First Street"
},
{
"property": "city",
"value": "Cambridge"
},
{
"property": "state",
"value": "MA"
},
{
"property": "zip",
"value": "02139"
}
]
}