在Rest API中发布呼叫

时间:2016-04-22 23:44:51

标签: javascript json api rest hubspot

我正在尝试在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“字符串化”,当我尝试传递它时,有趣的是我只得到一个对象,而不是整个字符串。

https://api.hubapi.com/contacts/v1/contact/?hapikey=3fd8a881-2859-4c85-bec8-690bd989a889&contact=[object%20Object]&email=testingapis@hubspot.com

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);
                });

1 个答案:

答案 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"
                }
            ]
        }