Авторизационные токены. Получить токен яндекс директ
API Директа — Авторизационные токены — Технологии Яндекса
Получение токена вручнуюНа этапе отладки приложения вы можете вручную получить так называемый отладочный токен от имени тестового пользователя. См. раздел Отладочный токен документации Яндекс.OAuth.
Получение токена в автоматическом режимеПри переходе к работе с данными реальных пользователей необходимо реализовать в приложении удобный для пользователей механизм получения токена. Чтобы получить токен, приложение должно перенаправить пользователя на специальную страницу Яндекс.OAuth — страницу запроса доступа. Пользователь авторизуется на Яндексе (под своим логином в Директе) и подтверждает доступ приложения к своим данным — нажимает кнопку «Разрешить». Яндекс.OAuth генерирует токен и передает его приложению в автоматическом режиме.
Яндекс.OAuth поддерживает несколько вариантов передачи токена, которые подходят для разных типов приложений: десктопная программа, мобильное приложение, веб-сервис и др. Процедура получения токена подробно описана в документации Яндекс.OAuth.
См. также пример на PHP, пример на Python.
Внимание. Независимо от того, получен ли токен вручную или автоматически, он дает возможность управлять реальными рекламными материалами пользователя.
Какой режим получения токена выбрать?В некоторых случаях допустимо использовать токен, полученный вручную, и после перехода к работе с данными реальных пользователей. Например:
-
если с приложением работает небольшое количество пользователей — представителей одного рекламодателя;
-
если приложение не взаимодействует с пользователем — например, скрипт обновляет ставки в автоматическом режиме.
Если же с приложением работают несколько рекламодателей или много пользователей с разными правами доступа, получать токен следует в автоматическом режиме.
tech.yandex.ru
R клиент для работы с API Яндекса, загрузка данных из Яндекс.Директ и Яндекс.Метрики в R.
R клиент для работы с API Яндекса, загрузка данных из Яндекс.Директ и Яндекс.Метрики в R.
Menu:
Search:
Ссылки
Содержание
краткое описание.
Пакет ryandexdirect предназначен для загрузки данных из Яндекс Директ и Яндекс Метрики в R, с помощью функций данного пакета вы можете работать с перечисленными ниже сервисами и службами API Яндекса с помощью готовых функций, не углубляясь при этом в документацию по работе с этими API сервисами.
- Сервис Reports - Предназначен для получения статистики по аккаунту рекламодателя.
- Logs API Яндекс Метрики - Logs API позволяет получать неагрегированные данные, собираемые Яндекс.Метрикой. Данный API предназначен для пользователей сервиса, которые хотят самостоятельно обрабатывать статистические данные и использовать их для решения уникальных аналитических задач.
- API Директа версии 4 и Live 4 - Через API внешние приложения добавляют и редактируют кампании, объявления, фразы, задают ставки, получают статистику показов.
- API Директа версии 5 - Через API внешние приложения добавляют и редактируют кампании, объявления, фразы, задают ставки, получают статистику показов.
установка пакета ryandexdirect.
Установка пакета осуществляется из репозитория GitHub, для этого сначала требуется установить и подключить пакет devtools.
install.packages("devtools")
library(devtools)
После чего можно устанавливать пакет ryandexdirect.
установка на Windows осуществляется с помощью следующей команды
install_github('selesnow/ryandexdirect')
установка на iOS, Linux, Ubuntu осуществляется с помощью следующей команды
install_github('selesnow/ryandexdirect', subdir = "utf8")
Авторизация в API Яндекс Директ
Получение токена
Для генерации токена в пакете есть две функции, yadirAuth и yadirGetToken. Получить токен можно с помощью любой из этих функций, но я рекомендую использовать yadirAuth, функция yadirGetToken считается устарвшей начиная с ryandexdirect 3.0.0.
Разница между ними состоит в том, что yadirGetToken просто генерирует токен и перенаправляет вас на страницу где вы можете его скопировать, а yadirAuth первый раз направляет вас на старницу где будет сгенерирован код для получения токена, после чего сама запрашивает токен и сохраняет в файл, в дальнейшем сама его обновляет и работает с сохранённым файлом.
Вы можете передавать токен в виде строки в агрумент Token при работе с любой из функций, но этот метод является устаревшим и не эффективным способом работы с функциями пакета ryandexdirect.
В версии 3.5.0 в пакет была добавлена новая функция для прохождения аутентификации в API yadirAuth, но отдельно вызывать её для получения токена больше не требуется, при любом обращении к API если вы в используемой функции явно не указываете никакой токен, любая функция пакета сначала будет искать файл с сохранёнными учётными данными в рабочей директории, или в папке которую вы укажите в аргументе AgencyAccount, если файл найден то учётные данные будут загружены из него, если файл не был найден то будет открыт браузер и вам потребуется разрешить приложению ryandexdirect доступ к своему рекламному аккауну, далее будет сформирован код авторизации, который вам необходимо вставить в R консоль в ответ на запрос “Enter authorize code:”, после чего функция сама сохранит учётные данные в файл с именем login.yadirAuth.RData, где вместо login будет подставлен логин аккаунта к которому вы предоставили доступ, это необходимо для сохранения токенов полученных для разных аккаунтов. При следующих обращениях, все функции пакета будут запрашивать токен из сохранённого файла.
Пример кода для прохождения авторизации
aut <- yadirAuth(Login = "Ваш логин в яндексе", NewUser = TRUE, TokenPath = "token_yandex")
Обновление токена
При каждом обращении к API проверяется количество дней до того как используемый токен станет просроченным, если остаётся менее 30 дней токен автоматически будет обновлён, и файл с учётными данными перезаписан.
Аргументы функции yadirAuth
- Login - имя пользователя или электронный адрес на Яндексе, с которого есть доступ к нужному вам рекламному аккаунту
- NewUser - логическое выражаение TRUE или FALSE, признак того, что у пользователя обязательно нужно запросить разрешение на доступ к аккаунту (даже если пользователь уже разрешил доступ данному приложению). Получив этот параметр, Яндекс.OAuth предложит пользователю разрешить доступ приложению и выбрать нужный аккаунт Яндекса. Параметр полезен, например, если вы хотите переключиться на другой аккаунт. По умолчанию установлено значение FALSE.
- TokenPath - путь к папке, в которой будут сохраняться учётные данные, по умолчанию это рабочая директория, но можно указывать любой путь, как абсолютный например ”C:/my_r_files/tokens”, так и относительны “tokens”, при использовании относительного пути в рабочей директории будет создана папка с установленным вами названием, и в неё будут сохраняться файлы с расширением .RData в которых хранящие учётные данные.
Ещё раз обращаю внимание на то, что хоть вы в любой момент при желании можете пройти аутентификацию в API Яндекс Директ с помощью функции yadirAuth, но это действие не является обязательным, т.к. при использовании любой функции пакета будет запущен поиск файла с учётными данными, и если файл не будет найден, то автоматически будет запущен процесс авторизации и запроса токена.
Авторизация с помощью функции yadirGetToken()
Функция для получения токена для доступа к API Яндекс.Директ, полученый токен используется во всех остальных функциях. После запуска функции откроется окна браузера, перед запуском функции необходимо авторизироваться в яндексе под логином через который есть доступ к аккаунтту Яндекс.Директ.
Можно получить токен воспользовавшись кнопкой
Получить токен доступа к API!
Если у вас не отображается кнопка перейдите на страницу официльной документации ryandexdirect по этой ссылке.
аргументы, общие для всех функций
Во всех функции пакета существуют общие аргументы, в дальнейшем эти аргументы рассматриваться в описании функций не будут.
- Login / Logins - Логин или вектор содержащий логины клиентов агентского аккаунта, в этот аргумент необходимо указывать логин в случае если вы запрашиваете данные из обычного рекламного аккаунта Яндекс Директ, или же логин клиентского аккаунта привязаного к вашему агентскому аккаунту, в таком случае в рабочей директории будет создан отдельный файл под каждый рекламный аккаунт, в котором будут хранится нужные для работы учётные данные.
- Token - С версии 3.0.0 этот аргумент больше не является обязательным, вы по прежнему можете передавать в него токены в виде строки, полученные с помощью функции yadirGetToken, так же можете передавать объекты учётных данных полученные с помощью новой функции yadirAuth, либо просто опустить данный агрумент.
- AgencyAccount - В случае если вы работаете с агентского аккаунта в этот аргумент необходимо передавать логин вашего агентского аккаунта, для каждого агентского аккаунта с которым вы работаете так же будет создан отдельный файл для хранения учётных данных.
- TokenPath - Путь к папке в которой хранятся все файлы с учётными данными, по умолчанию все функции пакета пытаются найти нужный файл с хранящимися учётными данными в текущей рабочей директории, но вы можете указывать абсолютный или условный путь к совершенно любой попке на вашем ПК, в которой вы хотите хранить все учётные данные ваших аккаунтов Яндекс Директ. Пример условного пути TokenPath = “yandex_token”, в таком случае в рабочей директории будет создана папка yandex_token в которую и будут сохраняться все учётные данные, указав этот путь во всех функциях пакета вам не понадобится повторно запрашивать токены.
Работа с обычным рекламным аккаунтом
Таким образом при работе с обычным рекламным аккаунтом вам необходимо передавать логин этого аккаунта в аргументе Login или Logins. При запуске любой функции в первую очередь будет запущен процесс поиска учётных данных для заданного логина в папке, название или путь к которой указан в аргументе TokenPath. Если файл с учётными данными для заданного логина был найден то работа функции будет продолжена без вашего вмешательства, если учётные данные для данного логина ещё не были получены, или были получены но вы не указали путь к папке в которой данный файл был сохранён то автоматически будет запущен веб браузер и вам потребуется пройти авторизацию и разрешить доступ пакету ryandexdirect к вашему рекламному аккаунту, учётные данные при этом будут сохранены в локальный файл и при дальнейшей работе будут загружаться именно из файла.
Работа с агентским аккаунтом
Для получения статистики по рекламным аккаунтам прикреплённым к агентскому аккаунту необходимо использовать аргумент AgencyAccount, в который необходимо передать логин или почту для вашего агентского аккаунта, а в аргумент Login / Logins передавать логин клиента, или вектор содержащий логины клиентов данного агентского аккаунта, по которым вы хотите запросить какие либо данные или совершить ещё какие либо действия.
Авторизация в данном случае будет проходить по агентскому аккаунту.
Загрузка статистики из рекламных и агентских аккаунтов Яндкс Директс помощью сервиса Reports
yadirGetReport(ReportType = "CAMPAIGN_PERFORMANCE_REPORT", DateRangeType = "LAST_MONTH", DateFrom = NULL, DateTo = NULL, FieldNames = c("CampaignName","Impressions","Clicks","Cost"), FilterList = NULL, IncludeVAT = "NO", IncludeDiscount = "NO", Login = NULL, Token = NULL)
Основная функция пакета с помощь которой вы можете выгружать данные статистики из сервиса Reports Яндекс Директ, ниже приведено подробное описание функции.
Аргументы:
ReportType - Тип отчёта, принимает на вход строку с одним из возможных значений:
Тип отчета | Описание | Добавляется группировка данных | Не допускаются поля |
ACCOUNT_PERFORMANCE_REPORT | Статистика по аккаунту рекламодателя | – | См. раздел Допустимые поля(https://tech.yandex.ru/direct/doc/reports/fields-list-docpage/) |
CAMPAIGN_PERFORMANCE_REPORT | Статистика по кампаниям | CampaignId | См. раздел Допустимые поля(https://tech.yandex.ru/direct/doc/reports/fields-list-docpage/) |
ADGROUP_PERFORMANCE_REPORT | Статистика по группам объявлений | AdGroupId | См. раздел Допустимые поля(https://tech.yandex.ru/direct/doc/reports/fields-list-docpage/) |
AD_PERFORMANCE_REPORT | Статистика по объявлениям | AdId | AudienceTargetId, Criteria, CriteriaId, DynamicTextAdTargetId, ImpressionShare, Keyword, Query, RlAdjustmentId, SmartBannerFilterId |
CRITERIA_PERFORMANCE_REPORT | Статистика по условиям показа | AdGroupId, CriteriaId, CriteriaType | AdFormat, AdId, Placement, Query |
CUSTOM_REPORT | Статистика с произвольными группировками | – | ImpressionShare, Query |
SEARCH_QUERY_PERFORMANCE_REPORT | Статистика по поисковым запросам | AdGroupId, Query | См. раздел Допустимые поля(https://tech.yandex.ru/direct/doc/reports/fields-list-docpage/) |
DateRangeType - Тип периода отчёта, принимает на вход строку с одним из следующих значений.
- TODAY — текущий день;
- YESTERDAY — вчера;
- LAST_3_DAYS, LAST_5_DAYS, LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, LAST_365_DAYS — указанное количество предыдущих дней, не включая текущий день;
- THIS_WEEK_MON_TODAY — текущая неделя начиная с понедельника, включая текущий день;
- THIS_WEEK_SUN_TODAY — текущая неделя начиная с воскресенья, включая текущий день;
- LAST_WEEK — прошлая неделя с понедельника по воскресенье;
- LAST_BUSINESS_WEEK — прошлая рабочая неделя с понедельника по пятницу; На схеме:
- LAST_WEEK_SUN_SAT — прошлая неделя с воскресенья по субботу;
- THIS_MONTH — текущий месяц;
- LAST_MONTH — предыдущий месяц;
- ALL_TIME — вся доступная статистика, включая текущий день;
- CUSTOM_DATE — произвольный период. При выборе этого значения необходимо указать даты начала и окончания периода в параметрах DateFrom и DateTo.
- AUTO — период, за который статистика могла измениться. Период выбирается автоматически в зависимости от того, произошла ли в предыдущий день корректировка статистики. Подробнее см. в разделе Как получить актуальную статистику.
DateFrom и DateTo - Начальная и конечная дата отчётного периода, необходимо указывать только в случае если в аргументе DateRangeType вы указали CUSTOM_DATE.
FieldNames - Строковый вектор содержащий названия полей которые вы хотите в результате получить, список доступных всех полей находится тут, при этом не все поля и типы отчётов совместимы между собой, если в результате запроса вы получили ошибку 400 проверьте все ли поля в вашем запросе между собой совместимы с помощью этой таблицы
Подробное описание всех полей можно посмотреть по этой ссылке.
FilterList - Строковый вектор с описанием всех фильтров которые вы хотите применить к своим данным, пример FilterList = c(“Clicks GREATER_THAN 99”,”Impressions LESS_THAN 1000”), в данном случае вы получите таблицу агрегированные значения в которых имеют более 99 кликов и при этом менее 1000 показов, все перечисленные условия имеют между собой логическую связь “И”.
IncludeVAT - Включать ли НДС в денежные суммы в отчете. Если рекламодатель работает в у. е. Директа, допускается только значение YES. Принимает значения “YES” и “NO”.
IncludeDiscount - Учитывать ли скидку для денежных сумм в отчете. Если рекламодатель работает в у. е. Директа, допускается только значение NO. Принимает значения “YES” и “NO”.
Login - Строковое вектор содержащий логины на Яндексе по которым необходимо получить данные.
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
Загрузка общей статистики по рекламным кампаниям
yadirGetSummaryStat(campaignIDS = NULL, dateStart = Sys.Date() - 10, dateEnd = Sys.Date(), currency = "USD", token = NULL)
Функция возвращает дата фрейм с общей статистикой в разрезе рекламных кампаний и дат. Данная функция считается устаревшей начиная с версии пакета 3.0.0, вместо неё рекомендуется использовать функцию yadirGetReport, примеры кода для загрузки статистики доступны в конце статьи.
Структура возвращаемого функцией yadirGetSummaryStat дата фрейма:
Поле | Тип данных | Описание |
Date | POSIXct | Дата, за которую приведена статистика. |
CampaignID | Factor | Идентификатор кампании. |
SumSearch | num | Стоимость кликов на поиске. |
GoalConversionSearch | num | Доля целевых визитов в общем числе визитов при переходе с поиска, в процентах. |
GoalCostSearch | num | Цена достижения цели Яндекс.Метрики при переходе с поиска. |
ClickSearch | int | Количество кликов на поиске. |
ShowsSearch | int | Количество показов на поиске. |
SessionDepthSearch | num | Глубина просмотра сайта при переходе с поиска. |
SumContext | num | Стоимость кликов в Рекламной сети Яндекса. |
GoalConversionContext | num | Доля целевых визитов в общем числе визитов при переходе из Рекламной сети Яндекса, в процентах. |
GoalCostContext | num | Цена достижения цели Яндекс.Метрики при переходе из Рекламной сети Яндекса. |
ClicksContext | int | Количество кликов в Рекламной сети Яндекса. |
ShowsContext | int | Количество показов в Рекламной сети Яндекса. |
SessionDepthContext | num | Глубина просмотра сайта при переходе из Рекламной сети Яндекса. |
Загрузка списка рекламных кампаний из аккаунта яндекс директ
yadirGetCampaignList(Logins = NULL, States = c("OFF","ON","SUSPENDED","ENDED","CONVERTED","ARCHIVED"),Types = c("TEXT_CAMPAIGN","MOBILE_APP_CAMPAIGN","DYNAMIC_TEXT_CAMPAIGN"), Statuses = c("ACCEPTED","DRAFT","MODERATION","REJECTED"), StatusesPayment = c("DISALLOWED","ALLOWED"), Token = NULL)
Функция возвращает дата фрейм со списком рекламных кампаний и некоторых их параметров по логину.
Аргументы:
Login - Вектор с логинами на Яндексе
States - На вход принимает текстовый вектор, используется для для фильтрации кампаний в указанных состояниях. Описание состояний см. в разделе Статус и состояние кампании., допустимые значения ( “ARCHIVED” | “CONVERTED” | “ENDED” | “OFF” | “ON” | “SUSPENDED” ), пример использования (c(“ON”,”SUSPENDED”,”CONVERTED”))
- Допустимые значения: ARCHIVED, CONVERTED, ENDED, OFF, ONSUSPENDED
- Пример использования: States = c(“ON”,”SUSPENDED”,”CONVERTED”)
Types - На вход принимает текстовый вектор, используется для фильтрации кампаний по типам, См. Тип кампании.
- Допустимые значения: TEXT_CAMPAIGN, MOBILE_APP_CAMPAIGN, DYNAMIC_TEXT_CAMPAIGN
- Пример использования: Types = c(“TEXT_CAMPAIGN”, “DYNAMIC_TEXT_CAMPAIGN”)
Statuses - На вход принимает текстовый вектор, используется для фильтрации кампаний по указанными статусами. Описание статусов см. в разделе Статус и состояние кампании.*
- Допустимые значения: ACCEPTED, DRAFT, MODERATION, REJECTED
- Пример использования: Statuses = c(“DRAFT”, “REJECTED”)
StatusesPayment - На вход принимает текстовый вектор, используется для фильтрации кампаний по указанным статусам оплаты. Описание статусов см. в разделе Статус и состояние кампании..*
- Допустимые значения: DISALLOWED, ALLOWED
- Пример использования: Statuses = c(“DISALLOWED”, “ALLOWED”)
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
Структура возвращаемого функцией yadirGetCampaignList дата фрейма:
Поле | Тип данных | Описание |
Id | chr | Идентификатор кампании. |
Name | chr | Название кампании. |
Type | Factor | Тип кампании ("TEXT_CAMPAIGN" | "MOBILE_APP_CAMPAIGN" | "DYNAMIC_TEXT_CAMPAIGN" | "UNKNOWN"). |
Status | Factor | Статус кампании ( "ACCEPTED" | "DRAFT" | "MODERATION" | "REJECTED" | "UNKNOWN" ). |
State | Factor | Состояние кампании ( "ARCHIVED" | "CONVERTED" | "ENDED" | "OFF" | "ON" | "SUSPENDED" | "UNKNOWN" ). |
DailyBudgetAmount | num | Дневной бюджет кампании в валюте рекламодателя. |
DailyBudgetMode | chr | DISTRIBUTED — распределять дневной бюджет равномерно на весь день. STANDARD — дневной бюджет может исчерпаться, а показы завершиться ранее окончания дня. |
Currency | Factor | Валюта кампании. Совпадает с валютой рекламодателя для всех кампаний. |
StartDate | Date | Дата начала показов объявлений. |
Impressions | int | Количество показов за время существования кампании. |
Clicks | int | Количество кликов за время существования кампании. |
ClientInfo | chr | Название клиента. Значение по умолчанию — наименование из настроек рекламодателя. |
login | chr | Логин пользователя на Яндексе. |
Загрузка списка групп объявлений агентского из рекламного аккаунта яндекс директ
yadirGetAdGroups(CampaignIds = NULL,Login = NULL, Token = NULL)
Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.
Аргументы:
CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений
Login - Логин на Яндексе
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
Структура возвращаемого функцией yadirGetAdGroups дата фрейма:
Поле | Тип данных | Описание |
Id | num | Идентификатор группы объявлений. |
Name | Factor | Название группы. |
CampaignId | int | Идентификатор кампании. |
Type | Factor | Тип группы объявлений. См. Тип группы. |
Subtype | Factor | Подтип группы объявлений. Для групп с типом, отличным от DYNAMIC_TEXT_AD_GROUP, возвращается значение NONE. |
Status | Factor | Статус группы. См. Статус группы. |
ServingStatus | Factor | Статус возможности показов группы. См. Статус возможности показов группы. |
NegativeKeywords | chr | Минус-фразы, общие для всех ключевых фраз группы объявлений. |
TrackingParams | Factor | ET-параметры для отслеживания источников переходов на сайт, которые добавляются в ссылку всех объявлений группы (не более 1024 символов). Могут содержать подстановочные переменные. Например: from=direct&ad={ad_id} Параметр можно указать для группы любого типа, однако в настоящее время он используется только для групп динамических объявлений. Для других типов групп указанные GET-параметры в ссылку не добавляются. |
RegionIds | Factor | Идентификаторы регионов, для которых показы включены или выключены. Идентификатор 0 — показывать во всех регионах. Минус перед идентификатором региона — выключить показы в данном регионе. Например [1,-219] — показывать для Москвы и Московской области, кроме Черноголовки. |
RestrictedRegionIds | chr | Идентификаторы регионов, в которых объявления не будут показаны в связи с законодательными ограничениями. |
MobileAppAdGroupStoreUrl | chr | Ссылка на приложение в магазине приложений AppStore или Google Play (не более 1024 символов). Должна содержать протокол. Недоступна для изменения. |
MobileAppAdGroupTargetDeviceType | chr | На каких устройствах показывать объявления: DEVICE_TYPE_MOBILE — смартфоны; DEVICE_TYPE_TABLET — планшеты. |
MobileAppAdGroupTargetCarrier | chr | По каким типам подключения к интернету показывать объявления: WI_FI_ONLY — только по Wi-FI; WI_FI_AND_CELLULAR — по мобильной связи и Wi-Fi. |
MobileAppAdGroupTargetOperatingSystemVersion | chr | Минимальная версия операционной системы, на которой может быть показано объявление. Например, 2.3. Примечание. Если минимальная версия ОС в магазине приложений выше, чем заданная в параметре, то объявления будут показаны только для версий ОС как в магазине приложений или выше. |
MobileAppAdGroupAppIconModerationStatus | chr | Результат модерации иконки мобильного приложения: ACCEPTED — принята модерацией; MODERATION — находится на модерации; REJECTED — отклонена. |
MobileAppAdGroupAppIconModerationStatusClarification | chr | Текстовое пояснение к статусу и/или причины отклонения на модерации. |
MobileAppAdGroupAppOperatingSystemType | chr | Тип операционной системы (определяется автоматически на основании данных из магазина приложений): IOS — iOS; ANDROID — Android; OS_TYPE_UNKNOWN — данные из магазина приложений еще не получены. |
MobileAppAdGroupAppAvailabilityStatus | chr | Доступно ли приложение в магазине приложений: AVAILABLE — доступно; NOT_AVAILABLE — недоступно; UNPROCESSED — данные из магазина приложений еще не получены. |
DynamicTextAdGroupDomainUrl | chr | Доменное имя сайта, для которого требуется сгенерировать динамические объявления (не более 100 символов). Протокол указывать не нужно. |
DynamicTextAdGroupDomainUrlProcessingStatus | chr | Статус генерации динамических объявлений: UNPROCESSED — генерация объявлений не завершена; PROCESSED — объявления созданы; EMPTY_RESULT — не удалось создать ни одного объявления. |
DynamicTextFeedAdGroupSource | chr | Идентификатор фида. |
DynamicTextFeedAdGroupSourceType | chr | Тип источника данных. В настоящее время доступно только значение RETAIL_FEED. фида. |
DynamicTextFeedAdGroupSourceProcessingStatus | chr | Статус генерации динамических объявлений: UNPROCESSED — генерация объявлений не завершена; PROCESSED — объявления созданы; EMPTY_RESULT — не удалось создать ни одного объявления. |
Пример кода для получения списка групп объявлений:
#Подключаем пакет library(ryandexdirect) #Получаем данные по группам объявлений my_adgroups <- yadirGetAdGroups(Login = <ВАШ ЛОГИН>, Token = my_token)Загрузка списка ключевых слов из рекламного аккаунта Яндекс Директ
yadirGetKeyWords(CampaignIds = c(1,2,3), WithStats = T, Login = NULL, Token = NULL)
Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.
Аргументы:
CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений
WithStats - Логическое TRUE или FALSE, аргумент отвечает за загрузку статистики по показам и кликам, в случае если вы установите значение TRUE время работы функции будет значительно дольше.
Login - Логин на Яндексе
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
Структура возвращаемого функцией yadirGetKeyWords дата фрейма:
Поле | Тип данных | Описание |
Id | num | Идентификатор ключевой фразы. |
Keyword | Factor | Ключевая фраза. Может содержать минус-слова. |
AdGroupId | num | Идентификатор группы объявлений, к которой относится ключевая фраза. |
CampaignId | int | Идентификатор кампании, к которой относится ключевая фраза. |
ServingStatus | Factor | Статус возможности показов группы объявлений. Описание статусов см. в разделе Статус возможности показов группы. |
State | Factor | Состояние ключевой фразы. Описание состояний см. в разделе Статус и состояние фразы. |
Status | Factor | Статус ключевой фразы. Описание статусов см. в разделе Статус и состояние фразы. |
StrategyPriority | Factor | Приоритет фразы: LOW, NORMAL или HIGH. |
StatisticsSearchImpressions | int | Количество показов всех объявлений группы в поиске по данной фразе. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один показ объявления по данной фразе. |
StatisticsSearchClicks | int | Количество кликов по всем объявлениям группы в поиске, показанным по данной фразе. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один клик по объявлению. |
StatisticsNetworkImpressions | int | Количество показов всех объявлений группы по данной фразе в сетях. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один показ объявления по данной фразе. |
StatisticsNetworkClicks | int | Количество кликов по всем объявлениям группы, показанным по данной фразе в сетях. Рассчитывается за 28 дней от текущей даты. Для расчета отбираются дни, в течение которых был хотя бы один клик по объявлению. |
UserParam1 | Factor | Значение подстановочной переменной {param1}. Не более 255 символов. |
UserParam2 | Factor | Значение подстановочной переменной {param2}. Не более 255 символов. |
ProductivityValue | num | Значение продуктивности фразы (до 1 знака после запятой). |
ProductivityReferences | Factor | Массив номеров рекомендаций для данной фразы. Справочник рекомендаций можно получить с помощью функции yadirGetDictionary, указав в качестве параметра DictionaryName "ProductivityAssertions". |
Bid | num | Ставка на поиске. |
ContextBid | num | Ставка в сетях. |
Пример кода для получения списка ключевых слов:
#Подключаем пакет library(ryandexdirect) #Получаем данные по ключевым словам my_keywords <- yadirGetKeyWords(CampaignIds = my_campaign$Id, WithStats = F, Login = <ВАШ ЛОГИН>, Token = my_token)Загрузка списка объявлений из рекламного аккаунта Яндекс Директ
yadirGetAds(CampaignIds = c(1,2,3), Login = NULL, Token = NULL)
Функция возвращает дата фрейм со списком групп объявлений и некоторых их параметров по логину.
Аргументы:
CampaignIds - Вектор с ID рекламных кампаний, по которым необходимо загрузить список групп объявлений
Login - Логин на Яндексе
Token - Токен дотупа к API, необязательный аргумент, можно передать токен в виде строки (пример “abcdef1234567”), можно передавать объект полученный с помощью функции yadirAuth, можно опустить этот аргумент, в таком случае сначала будет запущен поиск файла с учётными данными в рабочей директории или в папке путь к которой указан в аргументе “TokenPath”, если файл был найден то токен будет загружен из него, если файл не найден то будет открыт браузер и вам необходимо будет пройти аутентификацию.
Структура возвращаемого функцией yadirGetAds дата фрейма:
Поле | Тип данных | Описание |
Id | num | Идентификатор объявления. |
AdGroupId | num | Идентификатор группы объявлений, к которой относится объявление. |
CampaignId | int | Идентификатор кампании, к которой относится объявление. |
Type | Factor | Тип объявления. См. Тип объявления. |
Subtype | Factor | одтип объявления. Для объявлений с типом, отличным от IMAGE_AD, возвращается значение NONE. |
Status | Factor | Статус объявления. Описание статусов см. в разделе Статус и состояние объявления. |
AgeLabel | chr | Возрастная метка. |
State | int | Состояние объявления. Описание |
selesnow.github.io
OAuth-авторизация — Отладочный токен — Технологии Яндекса
Работу приложений, которые используют OAuth, можно проверять с помощью отладочных токенов. Их можно получить, открывая Яндекс.OAuth в браузере с нужными параметрами. Отладочные токены, как и любые другие, всегда могут быть отозваны.
Чтобы получить токен вручную:
- При регистрации или редактировании приложения, нажмите ссылку Подставить URL для разработки в поле Платформы → Веб-сервисы → Callback URI.
- Войдите на Яндекс с учетной записью пользователя, к аккаунту которого приложение должно запросить доступ.
- Перейдите по ссылке следующего вида: https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>
Идентификатор доступен в свойствах приложения (нажмите на название приложения, чтобы открыть его свойства).
- На открывшейся странице нажмите кнопку Подтвердить, чтобы разрешить доступ к аккаунту. Разрешать доступ не потребуется, если для данного приложения уже был выдан токен, и срок его жизни еще не истек.
Яндекс.OAuth перенаправит вас на страницу с токеном, добавив данные токена после символа #:
https://oauth.yandex.ru/verification_code# access_token=<новый OAuth-токен> & expires_in=<время жизни токена в секундах>access_token | OAuth-токен с запрошенными правами или с правами, указанными при регистрации приложения. |
expires_in | Время жизни токена в секундах. |
access_token | OAuth-токен с запрошенными правами или с правами, указанными при регистрации приложения. |
expires_in | Время жизни токена в секундах. |
Если токен выдать не удалось, то OAuth-сервер добавляет к адресу код ошибки:
https://oauth.yandex.ru/verification_code# error=<код ошибки>Возможные коды ошибок:
- access_denied — пользователь отказал приложению в доступе.
- unauthorized_client — приложение было отклонено при модерации или только ожидает ее. Также возвращается, если приложение заблокировано.
tech.yandex.ru
response_type | Требуемый ответ. При запросе кода подтверждения следует указать значение «code». |
client_id | Идентификатор приложения. Доступен в свойствах приложения (нажмите название приложения, чтобы открыть его свойства). |
device_id | Уникальный идентификатор устройства, для которого запрашивается токен. Чтобы обеспечить уникальность, достаточно один раз сгенерировать UUID и использовать его при каждом запросе нового токена с данного устройства. Идентификатор должен быть не короче 6 символов и не длиннее 50. Допускается использовать только печатаемые ASCII-символы (с кодами от 32 до 126). Ограничение. У приложения не может быть больше 20 токенов, привязанных к устройствам определенного пользователя. Если Яндекс.OAuth успешно выдает приложению новый токен для устройства, самый старый из таких токенов перестает работать. Подробнее о токенах для отдельных устройств читайте на странице Токен для устройства. |
device_name | Имя устройства, которое следует показывать пользователям. Не длиннее 100 символов. Для мобильных устройств рекомендуется передавать имя устройства, заданное пользователем. Если такого имени нет, его можно собрать из модели устройства, названия и версии ОС и т. д. Если параметр device_name передан без параметра device_id, он будет проигнорирован. Яндекс.OAuth сможет выдать только обычный токен, не привязанный к устройству. Если параметр device_id передан без параметра device_name, в пользовательском интерфейсе токен будет помечен как выданный для неизвестного устройства. |
redirect_uri | URL, на который нужно перенаправить пользователя после того, как он разрешил или отказал приложению в доступе. По умолчанию используется первый Callback URI, указанный в настройках приложения (Платформы → Веб-сервисы → Callback URI). В значении параметра допустимо указывать только те адреса, которые перечислены в настройках приложения. Если совпадение неточное, параметр игнорируется. |
login_hint | Явное указание аккаунта, для которого запрашивается токен. В значении параметра можно передавать логин аккаунта на Яндексе, а также адрес Яндекс.Почты или Яндекс.Почты для домена. Параметр позволяет помочь пользователю авторизоваться на Яндексе с тем аккаунтом, к которому нужен доступ приложению. Получив параметр, Яндекс.OAuth проверяет авторизацию пользователя:
Если параметр указывает на несуществующий аккаунт, Яндекс.OAuth сможет только сообщить об этом пользователю. Приложению придется запрашивать токен заново. |
scope | Список необходимых приложению в данный момент прав доступа, разделенных пробелом. Права должны запрашиваться из перечня, определенного при регистрации приложения. Узнать допустимые права можно по ссылке https://oauth.yandex.ru/client/<client_id>/info, указав вместо <client_id> идентификатор приложения. Если параметры scope и optional_scope не переданы, то токен будет выдан с правами, указанными при регистрации приложения. Параметр позволяет получить токен только с теми правами, которые нужны приложению в данный момент. Примечание. Права доступа, запрошенные одновременно через параметр scope и через параметр optional_scope, будут считаться опциональными правами, без которых приложение может обойтись. Пользователь самостоятельно решает, какие из запрошенных опциональных прав предоставить, а какие нет. |
optional_scope | Список разделенных пробелом опциональных прав доступа, без которых приложение может обойтись. Опциональные права запрашиваются в дополнение к правам, указанным в параметре scope. Опциональные права должны запрашиваться из перечня, определенного при регистрации приложения. Узнать допустимые права можно по ссылке https://oauth.yandex.ru/client/<client_id>/info, указав вместо <client_id> идентификатор приложения. Если параметры scope и optional_scope не переданы, то токен будет выдан с правами, указанными при регистрации приложения. Пользователь самостоятельно решает, какие из запрошенных опциональных прав предоставить, а какие нет. Токен будет выдан с правами, указанными в параметре scope, и правами, выбранными пользователем из указанных в параметре optional_scope. Параметр можно использовать, например, если приложению нужна электронная почта для регистрации пользователя, а доступ к портрету желателен, но не обязателен. Примечание. Права доступа, запрошенные одновременно через параметр scope и через параметр optional_scope, будут считаться опциональными. |
force_confirm | Признак того, что у пользователя обязательно нужно запросить разрешение на доступ к аккаунту (даже если пользователь уже разрешил доступ данному приложению). Получив этот параметр, Яндекс.OAuth предложит пользователю разрешить доступ приложению и выбрать нужный аккаунт Яндекса. Параметр полезен, например, если пользователь вошел на сайт с одним аккаунтом Яндекса и хочет переключиться на другой аккаунт. Если параметр не использовать, пользователю придется явно менять аккаунт на каком-нибудь сервисе Яндекса или отзывать токен, выданный сайту. Параметр обрабатывается, если для него указано значение «yes», «true» или «1». При любом другом значении параметр игнорируется. |
state | Строка состояния, которую Яндекс.OAuth возвращает без изменения. Максимальная допустимая длина строки — 1024 символа. Можно использовать, например, для защиты от CSRF-атак или идентификации пользователя, для которого запрашивается токен. |
tech.yandex.ru