Не получается сделать запрос в яндекс метрику и получить данные счетчика

Вот мой код

$url = 'https://api-metrika.yandex.net/management/v1/counter/61163671';

$params = [
    'ids'         => '61163671',
    'oauth_token' => 'AgAAAAAMBw2HAAY7yMoboZO8CUWpmVChQmmpE1w',
    'metrics'     => 'ym:s:visits,ym:s:pageviews,ym:s:users',
    'dimensions'  => 'ym:s:date',
    'date1'       => '7daysAgo',
    'sort'        => 'ym:s:date',
];

echo file_get_contents( $url . '?' . http_build_query($params) );

Ничего соответственно не выводит. Сайт тестовый. Весь интернет облазил уже. Апи яндекса перечитал вдоль поперек. Помогите решить задачу.


Ответы (1 шт):

Автор решения: Aziz

Нашел вариант. Токен оказывается надо передавать в заголовках header, в общем код выглядит так, где надо вставляйте токен и id счетчика.

function curl_file_get_contents($url){
    $authToken = 'XXXXXXXXXXXXXXXXXX';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-yametrika+json', 'Authorization: OAuth' . $authToken]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    $obj = curl_exec($ch);
    curl_close($ch);
    return $obj;
}


$url = 'https://api-metrika.yandex.ru/stat/v1/data';

$params = [
    'ids'         => '00000000',
    'metrics'     => 'ym:s:visits,ym:s:pageviews,ym:s:users',
    'dimensions'  => 'ym:s:date',
    'date1'       => '30daysAgo',
    'date2'       => 'yesterday',
    'sort'        => 'ym:s:date',
];

$json = curl_file_get_contents($url . '?' . http_build_query($params));

$data = json_decode($json, true)['data'];

?>
→ Ссылка