2016-04-22 98 views
0

我正尝试在Javascript中设置一个Post调用,以便在我的hubspot帐户中创建联系人。我是Rest API的新手,以及这是如何工作的。这是文件中关于这样做的说法。在Rest API中发送呼叫

必需参数如何使用说明 HubSpot API密钥----- hapikey = X ----在请求URL中使用您正在呼叫的门户的HubSpot API密钥。

联系JSON -----在请求正文中使用-----这是表示您正在创建的联系人的JSON。这应该是以下代码示例中给出的格式。

电子邮件地址-----在请求正文中使用-----请注意,电子邮件地址是您在创建新联系人时发布到HubSpot的JSON的必需部分。 可选参数如何使用说明

无无此方法的可选参数。

示例网址张贴到:https://api.hubapi.com/contacts/v1/contact/?hapikey=demo

我得到的例子,我可以得到使用hapikey =演示调用。我不明白的是在请求正文中使用。这完全是什么意思,我该如何实现它。我找不到任何文档来实际将JSON加载到通话后。

这里是我有什么

var testContact = '{"properties":['+ 
       '{"property":"email","value":"[email protected]"},'+ 
       '{"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); 
       }); 

我不断收到来自服务器的非法请求,因此必须被连接和我设立的信息是错误的。

UPDATE

所以我取消“字符串化它”,当我尝试过,我只是得到一个对象,而不是整个字符串有意思的东西。

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

var testContact = { 
       "properties": [ 
       { 
        "property": "email", 
        "value": "[email protected]" 
       }, 
       { 
        "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

你听说过PostMan吗?它是一个非常酷的免费应用程序,可以让你做很多API的东西,我建议你尝试一下... https://www.getpostman.com/ – JordanHendrix

+0

是啊,我其实今天早些时候偶然发现了这一点,但我无法使任何邮政电话只接打电话。我不知道如何正确格式化JSON。它看起来像一个很酷的应用程序,虽然 – Peter3

+0

我可以告诉你的JSON对象有问题,试试这个:看看postman从get中返回什么,你需要把相同的格式发送回hubspot,但是使用适当的值......,再近的人... – JordanHendrix

回答

0

你JSON是不正确,没有必要“字符串”,然后分析它....只是发送像这样的对象:

我知道你已经看到这个网页: http://developers.hubspot.com/docs/methods/contacts/create_contact

尽量准确地复制他们有一个页面上的对象,不修改其他比起飞你不属性需要发送...

{ 
      "properties": [ 
       { 
        "property": "email", 
        "value": "[email protected]" 
       }, 
       { 
        "property": "phone", 
        "value": "555-122-2323" 
       }, 
       { 
        "property": "address", 
        "value": "25 First Street" 
       }, 
       { 
        "property": "city", 
        "value": "Cambridge" 
       }, 
       { 
        "property": "state", 
        "value": "MA" 
       }, 
       { 
        "property": "zip", 
        "value": "02139" 
       } 
      ] 
     } 
+0

所以使用这给了我一个语法错误。是有接触=和电子邮件=偶数吧?我只是在那个猜测。 VAR testContact = { \t \t \t \t“属性“:[ { ”property“:”email“, ”value“:”[email protected]“ },{ “属性”: “姓名”, “值”: “阿德里安” },{ “属性”: “姓”, “值”: “莫特” }]}; \t \t \t \t \t \t \t \t变种测试= JSON.parse(testContact); – Peter3

+0

是的,你发布的链接是我最初发布的。我的问题是它不分享如何正确格式化电子邮件和联系。对于它在示例中显示的关键。对于我所知道的contact =和email =可能是错误的。 – Peter3

+0

我不能说我明白这一点,但我刚刚得到这个工作。 $阿贾克斯({ \t \t \t \t \t \t类型: “POST”, \t \t \t \t \t \t网址:“https://api.hubapi.com/contacts/v1/contact/?hapikey=demo ” \t \t \t \t \t \t过程数据:假的, \t \t \t \t \t \t的contentType:“应用/ JS上”, \t \t \t \t \t \t数据:JSON.stringify(testContact) \t \t \t \t \t \t成功:函数(r)的{} \t \t \t \t \t}); – Peter3