我使用他们的api (https://developers.hubspot.com/docs/methods/forms/submit_form)向https://developers.hubspot.com/docs/methods/forms/submit_form提交了一份联系人表单,这非常有用,只不过每次我这么做的时候,HubSpot都会在其网站上根据市场营销->表单自动生成一个新表单,名称类似于#form_5dd7ee368739f。它说这是一个非哈勃黑子形式,并给出了这样的解释:
非哈勃形式是什么?
非哈勃表格是你网站上没有用HubSpot创建的HTML表单。根据您的设置,这些表单的数据将在HubSpot中自动收集。了解更多。
“学习更多”不是一个链接,我不能点击它。api请求的提交既记录在它每次提交表单时自动生成的新表单中,也记录在我在HubSpot中构建的用于处理该请求的表单中。这是我的代码:
<?php
// wp-config.php
define('HUBSPOT_PORTAL_ID', getenv('hubspot_portal_id'));
define('HUBSPOT_CONTACT_FORM_GUID', getenv('hubspot_contact_form_guid'));
define('HUBSPOT_CONTACT_FORM_ENDPOINT', "https://forms.hubspot.com/uploads/form/v2/".HUBSPOT_PORTAL_ID."/{form_guid}");
?>
<?php
// hubspot.php
function hubspot_form_submit($page_url, $page_name, $endpoint, $data) {
$hs_context = array(
'ipAddress' => $_SERVER['REMOTE_ADDR'],
'pageUrl' => $page_url,
'pageName' => $page_name,
);
if (array_key_exists('hubspotutk', $_COOKIE)) {
$hs_context['hutk'] = $_COOKIE['hubspotutk'];
}
$data['hs_context'] = $hs_context;
$data_string = "";
foreach ($data as $key => $value) {
if (is_string($value)) {
$value = urlencode($value);
}
else if (is_array($value)) {
$value = json_encode($value);
}
$data_string = $data_string.$key."=".$value."&";
}
$data = rtrim($data_string, "&");
$ch = @curl_init();
@curl_setopt($ch, CURLOPT_POST, true);
@curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
@curl_setopt($ch, CURLOPT_URL, $endpoint);
@curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/x-www-form-urlencoded'
));
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = @curl_exec($ch);
if(curl_error($ch)) {
$result = curl_error($curl);
}
$status_code = @curl_getinfo($ch, CURLINFO_HTTP_CODE);
@curl_close($ch);
return $result;
}
?>
<?php
// contact.php
require_once("inc/hubspot.php");
$hubspot_form_submission = hubspot_form_submit(
"https://www.example.com/contact/",
"Contact",
str_replace("{form_guid}", HUBSPOT_CONTACT_FORM_GUID, HUBSPOT_CONTACT_FORM_ENDPOINT),
array(
"firstname" => $form->data["first_name"],
"lastname" => $form->data["last_name"],
"email" => $form->data["email"],
"phone" => $form->data["phone"],
"preferred_contact_method" => $form->data["contact_method"],
"message" => $form->data["comments"],
)
);
?>有人知道我如何阻止HubSpot自动生成这些表单吗?否则,我的表单框将很快被数百个自动生成的表单填满,我不得不继续删除这些表单。需要注意的是:我为此目的创建的实际表单位于文件夹中,而自动生成的表单总是位于任何文件夹之外,如果这有任何区别的话。
发布于 2019-11-22 18:10:30
发现了问题:客户端已经启用了非HubSpot表单的设置,所以修复它所需要的就是关闭这个功能。文件如下:
https://knowledge.hubspot.com/forms/use-non-hubspot-forms
设置位于
设置->营销->窗体->非哈勃表格
https://stackoverflow.com/questions/58996681
复制相似问题