【问题标题】:Post call in Rest API在 Rest API 中发布调用
【发布时间】:2016-08-16 17:43:18
【问题描述】:

我正在尝试在 Javascript 中设置一个 Post 调用,以便在我的 hubspot 帐户中创建一个联系人。我是 Rest API 的新手,以及这一切是如何工作的。这就是文档所说的这样做。

必填参数 使用方法 说明 HubSpot API 密钥 ----- hapikey=X ---- 在请求 URL 中使用 您正在调用的门户的 HubSpot API 密钥。

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

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

无 无 此方法没有可选参数。

发布到的示例 URL:https://api.hubapi.com/contacts/v1/contact/?hapikey=demo

我得到了示例,我可以使用 hapikey=demo 进行 get 调用。我不明白的是请求正文中的使用。这完全意味着什么以及我如何实现它。我找不到任何文档来实际将 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);
                });

我不断收到来自服务器的错误请求,因此它必须正在连接,并且我设置的信息错误。

更新

所以我取消了“字符串化”,当我尝试传递时有趣的是我只得到一个对象而不是整个字符串。

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

【问题讨论】:

  • 你听说过邮递员吗?它是一个非常酷的免费应用程序,可以让你做很多 API 的事情,我建议你试试...getpostman.com
  • 是的,我今天早些时候确实偶然发现了这个问题,但我似乎无法使用它进行任何 Post 调用,只能接听电话。我不确定如何正确格式化 JSON。虽然它看起来确实是一个很酷的应用
  • 我可以告诉你的 JSON 对象有问题,试试这个:看看邮递员从 get 中返回了什么,你需要将相同的格式发送回 hubspot 但具有正确的值......,你是亲人……
  • 我试图遵循 API 文档,即 { "properties": [ { "property": "email", "value": "testingapis@hubspot.com" }, { "property “:“名字”,“价值”:“阿德里安”},{“财产”:“姓氏”,“价值”:“莫特”}............

标签: javascript json api rest hubspot


【解决方案1】:

您的 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"
                }
            ]
        }

【讨论】:

  • 所以使用它会给我一个语法错误。有contact=和email=对吗?我只是在猜测。 var testContact = { "properties": [ { "property": "email", "value": "testingapis@hubspot.com" }, { "property": "firstname", "value": "Adrian" }, { “属性”:“姓氏”,“价值”:“莫特”}]}; var test = JSON.parse(testContact);
  • 是的,您发布的链接是我最初在上面发布的。我的问题是它没有分享如何正确格式化电子邮件和联系方式。对于它在示例中向您显示的键。据我所知,contact= 和 email= 可能是错误的。
  • 我不能说我明白这一点,但我只是让它工作。 $.ajax({ type: "POST", url: "api.hubapi.com/contacts/v1/contact/?hapikey=demo", processData: false, contentType: 'application/json', data: JSON.stringify(testContact), success: function(r) {} }) ;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2019-03-05
  • 2016-09-01
  • 1970-01-01
  • 2020-12-05
相关资源
最近更新 更多