我已经在我的web应用程序上安装了Mailchimp PHP客户端库,并希望生成我使用过的所有标签的列表。股票代码可以工作,但似乎仅限于10个回复。如果我使用curl代替库函数,我可以设置count参数并获得所有25个标记。库函数似乎不接受输入中的计数。如何使用库返回超过10个标签?
我的工作,虽然有限,库代码是:require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/mailchimp/vendor/autoload.php';
$client = new MailchimpMarketingApiClient();
$client->setConfig([
'apiKey' => $MC_apiKey,
'server' => 'us17'
]);
$response = $client->lists->tagSearch($MC_listID);
var_dump($response);
我可以得到所有25个标签,如果我使用curl url,如:
$MC_url = 'https://' . $MC_dataCenter . '.api.mailchimp.com/3.0/lists/' . $MC_listID . '/tag-search?count=50';
提前感谢!
由于标签在Mailchimp中实际上是分段(但是是静态类型),因此您可以使用ListSegments方法。
函数声明为:
public function listSegments($list_id, $fields = null, $exclude_fields = null, $count = '10', $offset = '0', $type = null, $since_created_at = null, $before_created_at = null, $include_cleaned = null, $include_transactional = null, $include_unsubscribed = null, $since_updated_at = null, $before_updated_at = null)
因此,要获得所有标签或静态段的数量,您可以从调用
开始:$response = $client->lists->listSegments($MC_listID, "total_items", null, null, null, "static");
读取total_items值后,您可以自己进行分页(如果需要=如果有超过1000项)。由于count参数最大限制为1000,因此您需要自己遍历列表,计数为1000,偏移量为0,1000等(取决于您需要读取多少页)。比如:
$response = $client->lists->listSegments($MC_listID, "segments.id,segments.name,segments.type", null, 1000, 0, "static");
$response = $client->lists->listSegments($MC_listID, "segments.id,segments.name,segments.type", null, 1000, 1000, "static");
$response = $client->lists->listSegments($MC_listID, "segments.id,segments.name,segments.type", null, 1000, 2000, "static");
...