OAuth токен в HTTP заголовке

Писал я значит функционал для одного проекта. Там нужно было в личном кабинете пользователя показывать статистику посещения его страниц.

Фото: OAuth токен в HTTP заголовке

Решил я все сделать с использованием API Yandex Метрики. Все сделал, все норм. И вдруг, все отвалилось и перестало работать.
Начал гуглить что за фигня. И нашел в описании API, что с 13 февраля 2019 года передача OAuth токена в HTTP параметрах URL не будет работать для Yandex Метрики. OAuth токен нужно передавать в HTTP заголовке. Опять давай гуглить. Нашел решение. Перепелил под себя.

Вот оно, может кому-нибудь пригодится:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<?php

functioncurl_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’];

?>

XXXXXXXXXXXXXXXXXX — OAuth токен.
00000000 — Счетчик в метрике.
Ну и дальше можно работать с $data как душе угодно.