---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/dev/metrika/en/intro/authorization.md
  - https://yandex.com/dev/metrika/ru/intro/authorization.md
  - href: ru/intro/authorization.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/metrika/ru/llms.txt

# Авторизация

Для использования API Яндекс Метрики необходимо получить [авторизационный токен](https://yandex.ru/dev/id/doc/ru/concepts/ya-oauth-intro) через OAuth-сервер Яндекса. Токен необходимо передавать для каждого метода в HTTP-заголовке `Authorization`.

```
GET /management/v1/counters HTTP/1.1
Host: api-metrika.yandex.net
Authorization: OAuth 05dd3dd84ff948fdae2bc4fb91f13e22bb1f289ceef0037
Content-Type: application/x-yametrika+json
Content-Length: 123
```

Если метод API вызван без токена или в запросе передан недействительный токен, сервер возвращает HTTP-статус `401 Unauthorized`.

{% note info %}

Обеспечьте безопасное хранение авторизационного токена, не передавайте его третьим лицам.

{% endnote %}

## Получение OAuth-токена {#get-oauth-token}

Чтобы получить авторизационный токен:

<!-- source: ru/_includes/oauth.md -->
1. [Создайте приложение](https://oauth.yandex.ru/?dialog=create-client-entry) и выберите пункт **Для доступа к API или отладки**. 

1. Заполните поля:
    - **название** — можно указать произвольно;
    - **почта** — укажите предпочтительную почту для связи;
    - **доступ к данным** — укажите набор доступов для вашего приложения. 
    
        Какие бывают доступы:

        - **metrika:read** — получение статистики, чтение параметров своих и доверенных счетчиков, получение списка счетчиков;
        - **metrika:write** — создание счетчиков, изменение параметров своих и доверенных счетчиков, загрузка любых данных;
        - **metrika:expenses** — загрузка в счетчики расходов;
        - **metrika:user_params** — загрузка в счетчики параметров пользователей;
        - **metrika:offline_data** — загрузка в счетчики офлайн-данных (данные из CRM, офлайн-конверсии, звонки).

        Доступы **metrika:expenses**, **metrika:user_params**, **metrika:offline_data** не обязательны, если используется доступ **metrika:write**.

    {% note info %}

    Если вы работаете через porg-логины (логины организации), то в правах доступа добавьте **passport:business** — это необходимо для выдачи токена от организации.

    {% endnote %}

1. Нажмите **Создать приложение** и скопируйте его ClientID (напротив идентификатора нажмите значок ![](../../_images/copy.svg)).

1. Добавьте скопированный ClientID в ссылку вида

    ```http translate=no
    https://oauth.yandex.ru/authorize?response_type=token&client_id=<application_id>
    ```

1. Перейдите по ссылке и на открывшейся странице скопируйте ваш авторизационный токен.
<!-- endsource: ru/_includes/oauth.md -->

## Возможные проблемы и их решение {#troubles}

<!-- source: ru/_includes/oauth.md -->
{% cut "Ошибка 403 (Access is denied) после получения токена" %}

Возможные причины:

**На стороне приложения**

- Приложение не имеет доступа к Метрике. Для чтения данных счётчиков (построение отчётов, просмотр информации по счётчику и т.п.) нужен доступ `metrika:read`. Для управления счётчиками (загрузка офлайн-данных, изменения счётчиков, сегментов и т.п.) нужен `metrika:write`.

**На стороне токена**

- Токен невалидный. Срок действия токена истек, либо на аккаунте, для которого он был заведен, изменился пароль авторизации. Перевыпустите токен.

- Токен создан не для того аккаунта. Мог быть заведён на логине, который не имеет доступ к счётчику Яндекс Метрики.

     {% note warning %}

     Владельцем токена является не владелец приложения, а аккаунт, из-под которого вы были авторизованы, когда выполняли GET-запрос на получение токена.

     {% endnote %}

- Токен создан не для того приложения. При выполнении GET-запроса на получение токена в параметре `client_id` было указано не то значение или была допущена опечатка, из-за которой токен был заведён на приложение, не имеющее доступа к Метрике (`metrika:read` или `metrika:write`).

**На стороне Метрики**

- На счётчике, к которому вы обращаетесь по API нет доступа у владельца токена. [Подробнее](https://yandex.ru/support/metrica/general/access.html) о типах доступов к счётчику. Для API нужен владелец, гостевой доступ на просмотр или гостевой доступ на редактирование, если речь идёт об API управления.

**На стороне API запроса**

- В коде для вызова API-запроса некорректно заданы параметры авторизации, из-за чего чтение токена происходит некорректно/не происходит вообще.

{% endcut %}

{% cut "Ошибка 401 (unauthorized) после получения токена" %}

Возможные причины:

1. Параметры авторизации в заголовке запроса заданы некорректно.
2. Параметры авторизации в заголовке отсутствуют.

{% endcut %}
<!-- endsource: ru/_includes/oauth.md -->
