我使用php sdk与Google跟踪代码管理器进行交互。当我运行此代码时
$client = new \Google_Client();
$client->setClientId('xxxx');
$client->setClientSecret('xxxx');
$client->setAccessToken($token);
$container = new \Google_Service_TagManager_Container();
$container->setName('a-name');
$container->setTimeZoneCountryId('America/Los_Angeles');
$container->setTimeZoneId('US');
$container->setUsageContext(array('web', 'android', 'ios'));
$tagManager = new \Google_Service_TagManager($client);
$tagManager->accounts_containers->create('xxx', $container);
然后引发异常:Error calling POST https://www.googleapis.com/tagmanager/v1/accounts/xxx/containers: (400) Bad Request
。
容器数据与Google Developer Console中的相同。 Google Developer Console中的示例请求会产生相同的错误请求错误。
有什么想法吗?这是API错误吗?
答案 0 :(得分:0)
这篇文章已经过时了,我的回答与标签管理器api v2有关,但是我也努力创建一个容器(在v2中)并完成了任务。我在这里共享我的代码,因为当我搜索问题时,我在这里烦恼,却找不到答案...也许对某人有所帮助。
因此,基本上,在完成所有身份验证工作之后,这就是使用标记管理器v2 api创建容器的方法:
$container = new Google_Service_TagManager_Container();
$container->setUsageContext(['web']);
$container->setName('yourContainerName');
$container->setNotes('yourContainerNotes');
$accountId = 'yourAccountId';
try {
$accountContainer = $tagManager->accounts_containers->create('accounts/'.$accountId, $container);
} catch(Exception $e) {
$this->printH($e->getMessage());
$this->printH($e->getCode());
}