在Tag-Manager中创建新容器时出现错误请求

时间:2015-09-16 15:57:06

标签: php api google-tag-manager

我使用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错误吗?

1 个答案:

答案 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());
    }