Londeren
@Londeren

Яндекс.Метрика: почему не создаются цели через API?

Мануал курил.
Код следующий:

<?php

$params = array(
      'name' => 'GOAL',
      'type' => 'url',
      'depth' => '',
      'conditions' => array(
        array(
          'type' =>  'exact',
          'url' => 'GOAL_URL',
        )
      )
    ) ;


 $params = json_encode($params);

    $opts = array(
      'http' => array(
        'method' => "POST",
        'header' => "Authorization: OAuth " . $token . "\r\n" .
                    "Accept: application/x-yametrika+json" . "\r\n" .
                    "Content-Type: application/x-yametrika+json" . "\r\n" .
                    "Content-length: " . strlen($params) . "\r\n",
        'content' => $params
      )
    ) ;

    $context = stream_context_create($opts);

    $result = file_get_contents('http://api-metrika.yandex.ru' . $uri . '.json?pretty=1', null, $context);


в $result без каких-либо ошибок возвращается список текущих целей, новый не создается.

В чем может быть ошибка?
  • Вопрос задан
  • 3793 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
В описании апи этого тупо нет, но $params надо обернуть ещё в один массив:
'content' => array('goal'=>$params),
clubs.ya.ru/metrika/replies.xml?item_no=9965

И сразу же ещё одна неимоверно логичная вещь - в ответ возвращается тупо список всех целей, включая добавленную. И искать среди них только что созданную цель надо самому.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы