我想使用我在 Infusionsoft 中创建的 PHP API 来获取所有标签。
我已经尝试了很多,网上没有可用的示例代码。
这是用于从 ContactGroup 表中返回所有联系人标签的 PHP 代码...
<?php
$fields = array('Id','GroupName');
$query = array('Id' => '%');
$result = $app->dsQuery('ContactGroup', 1000, 0, $query, $fields);
$count=count($result);
for( $x = 0; $x < $count; $x++ ) {
echo $result[$x]['Id'] . "<br>";
echo $result[$x]['GroupName'] . "<br>";
}
?>
在尝试使用上述答案时,我发现一个参数与当前文档不匹配。所以根据目前的文档,我更新了代码——
$table = 'ContactGroup';
$limit = 1000;
$page = 0;
$queryData = array('Id' => '%');
$selectedFields = array('Id','GroupName');
$orderBy = 'Id';
$ascending = true;
$tags = $infusionsoft->data()->query($table, $limit, $page, $queryData, $selectedFields, $orderBy, $ascending);
print "<pre>";
print_r($test);
它是使用 php.ini 完成的。其他方法(php-isdk 等)应该也一样。希望能帮助到你。:)
Infusionsoft 提供了一个SDK ,可以帮助处理常见的 API 请求。
您将需要使用DataService.query方法来查询“ContactGroup”(“标签”的原始名称)表(表/字段列表)。
我创建了一个服务类,我在所有具有 Infusionsoft 集成的项目中都使用它。
这就是我的方式。
public function getTags() {
$tags = [];
$page = 0;
do {
$result = $this->infusionsoft
->data
->query('ContactGroup', 1000, $page, ['id' => '%'], ['id', 'GroupName', 'GroupCategoryId'], 'GroupName', true);
$tags = array_merge($tags, $result);
} while (count($result) === 1000);
return $tags;
}