index.md

window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-114798296-1');

ul.nm_ul { list-style: none; /*убираем маркеры списка*/ margin: 0; /*убираем отступы*/ padding-left: 0; /*убираем отступы*/ margin-top:25px; /*делаем отступ сверху*/ background:#DCDCDC; /*добавляем фон всему меню*/ height: 30px; /*задаем высоту*/ } a.nm_a { text-decoration: none; /*убираем подчеркивание текста ссылок*/ background:#696969; /*добавляем фон к пункту меню*/ color:#fff; /*меняем цвет ссылок*/ padding:0px 5px; /*добавляем отступ*/ font-family: arial; /*меняем шрифт*/ line-height:30px; /*ровняем меню по вертикали*/ display: block; border-right: 1px solid #677B27; /*добавляем бордюр справа*/ -moz-transition: all 0.3s 0.01s ease; /*делаем плавный переход*/ -o-transition: all 0.3s 0.01s ease; -webkit-transition: all 0.3s 0.01s ease; } a.nm_a:hover { background:#FF8C00;/*добавляем эффект при наведении*/ } li.nm_li { float:left; /*Размещаем список горизонтально для реализации меню*/ position:relative; /*задаем позицию для позиционирования*/ } /*Стили для скрытого выпадающего меню*/ li.nm_li > ul.nm_ul { position:absolute; top:5px; display:none; } /*Делаем скрытую часть видимой*/ li.nm_li:hover > ul.nm_ul { display:block; width:280px; /*Задаем ширину выпадающего меню*/ } li.nm_li:hover > ul.nm_ul > li.nm_li { float:none; /*Убираем горизонтальное позиционирование*/ }

Menu:

Search:

(function() { var cx = '002735389418227325972:fdikniadyig'; var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; gcse.src = 'https://cse.google.com/cse.js?cx=' + cx; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); })();

rmytarget - пакет для работы с API MyTarget на языке R.

Поддержать проект

Вы можете поддержать проект любой произвольной суммой воспользовавшись кнопкой или перейдя по этой ссылке.

function runWfpWdgt(url){var wayforpay=new Wayforpay();wayforpay.invoice(url);}

Оплатить

Ссылки

CRAN

Rdoc rpackages.io rank

Содержание README:

Краткое описание.

Пакет rmytarget помогает получить дата фрейм со списком клиентов агентств из аккаунта MyTarget, получить список и обшие параметры рекламных кампаний по каждому из проектов, а так же получить детальную статистику по кампаниям за каждый день.

Установка пакета rmytarget.

Установка пакета осуществляется либо из CRAN, либо из репозитория GitHub, для этого сначала требуется установить и подключить пакет devtools.

Установка из CRAN: install.packages("rmytarget")

Для установка dev версии из GitHub предварительно вам необходимо установить пакет devtools, и уже с его помощью устанавлиать rmytarget:

install.packages("devtools")
library(devtools)

# После чего можно устанавливать пакет rmytarget.
install_github('selesnow/rmytarget')
library(rmytarget)

Пример кода для загрузки данных из API MyTarget

Работа с обычным рекламным аккаунтом, даже если вы имете к нему доступ через агентский аккаунт

library(rmytarget)

# ================
# пример работы с клиентским аккаунтом
# авторизация
# если вы работаете через агенский аккаунт то в браузере выберите пункт 
# предоставить доступ к аккаунту клиента или менеджера

myTarAuth(login = "seleznev", token_path = "tokens")

# загрузка списка рекламных кампаний и объявлений
campaing <- myTarGetCampaignList(login = "seleznev", token_path = "tokens")
ads      <- myTarGetAdList(login = "seleznev", token_path = "tokens")

# загрузка статистики по рекламным кампанийм
camp_data    <- myTarGetStats(date_from   = Sys.Date() - 7,
                              date_to     = Sys.Date(),
                              object_type = "campaigns",
                              object_id   = campaing$id,
                              stat_type   = "day",
                              login       = "seleznev", 
                              token_path  = "tokens")

# загрузка списка метрик входящих в группы "base", "tps", "viral" по объявлениям
custom_data <- myTarGetStats(date_from   = Sys.Date() - 7,
                             date_to     = Sys.Date(),
                             object_type = "banners",
                             metrics     = c("base", "tps", "viral"),
                             stat_type   = "day",
                             login       = "seleznev", 
                             token_path  = "tokens")

# загрузка всех возможных метрик с группировкой по рекламным кампаниям
all_data <- myTarGetStats(date_from   = Sys.Date() - 7,
                          date_to     = Sys.Date(),
                          object_type = "campaigns",
                          metrics     = "all",
                          login       = "seleznev", 
                          token_path  = "tokens")

Работа с агентским аккаунтом

library(rmytarget)

# авторизация
# в браузере необходимо выбрать пункт предоставить доступ к аккаунту "логин агенсткого аккаунта"
myTarAuth(login = "agency", token_path = "tokens")

# загрузка списка клиентов
clients <- myTarGetClientList(login = "agency",
                              token_path = "tokens")

# загрузка статистики с группировкой по клиентам агентского аккаунта
client_stat <-  myTarGetStats(date_from   = Sys.Date() - 7,
                              date_to     = Sys.Date(),
                              object_id   = clients$id,
                              object_type = "users",
                              metrics     = "all",
                              login       = "agency",
                  token_path = "tokens")

Авторизация в API MyTarget.

Авторизация в API через rmytarget осуществляется по схеме авторизации Authorization Code Grant, подробнее о способах авторизации можно узнать в официальной справке API MyTarget.

Пройти авторизации можно с помощью функции myTarAuth:

myTarAuth(login = "my_test_client",
          token_path = "mt_tokens")

Аргументы:

Помните что в API MyTarget вы можете запрашивать всего 5 токенов для одного аккаунта.

После запуска функции откроется окно браузера, в котором вам необходимо подтвердить разрешение на оступ к вашим данным для пакета rmytarget. Если вы работаете через агентский аккаунт, то в открывшемся окне у вас будет возможность выбора, сгенерировать токен для вашего агентского акккаунта, или же получить токен для работы с одним прикреплённых к нему клиентских аккаунтов.

Для работы с агентским аккаунтом выберите верхний пункт.

генерация токена для агентского аккаунта

В таком случае вы сможете запрашивать список киентов агентского аккаунта, или получить статистику сгруппированную по клиетским аккаунтам. Но такой токен не позволяет запрашивать например список объявлений, или рекламных кампаний из подчинённых, клиентских аккаунтов.

Если же вам необходимо получить какие либо данные из подчинённого клиентского аккаунта то при авторизации через браузер выберите пункт "Предоставить доступ к аккаунту клиента или менеджера".

Генерация токена для работы с клеинтским аккаунтом

Далее необходимо нажать кнопку подтверждения доступа, после чего вы будете перенаправлены на страницу где вам необходимо скопировать код подтверждения доступа к API.

Скопированный код необходимо ввести в консоль RStudio, в качестве ответа на запрос Enter code from browser:.

Если до этого момента вы сделали всё правильно в консоле будет выведено количество оставшихся токенов для данного аккаунта.

You tokens left for this account: 2, что говорит о том, что для данного аккаунта можно запросить ещё 2 токена.

И будет выведен запрос, разрешаете ли вы сохранить полученный токен в локальный файл на ваш жесткий диск, для того, что использовать его между разными сессиями работы в R, и не проходить постоянно процесс авторизации в браузере. Do you want save API credential in local file (C:/webinars/automationday-2018/my_login.rymAuth.RData), for use it between R sessions?. Напоминаю что вы можете получить всего 5 токенов на 1 аккаунт, поэтому я крайне рекомендую сохранять полученные токены в файл, и в качестве ответа на этот запрос ввести y или yes, в противном случае вы загрузите данные, но токен сохранён не будет, и вам при следующем обращении к API понадобиться повторно его запрашивать.

Если вы согласились, и всё сделали правильно то в консоль будет выведено сообщение Token saved at C:/webinars/automationday-2018/my_login.mytar.Auth.RData.

Далее в рабочей директории будет создан файл хранящий учётные данные, название файла будет начинаться с указаннолого логина и далее .mytar.Auth.RData.

При каждом обращении к API будет проверяться скрок действия токен, если срок заканчивается менее чем через 30 минут то токен авточески будет обновлён.

На самом деле проходить авторизацию отдельно через функцию myTargetAuth необзательно, т.к. при запуске любой из доступных в пакете функций процесс авторизации будет запущен автоматически.

Другие схемы авторизации

Так же rmytarget поддерживает и другие схемы авторизации. Но для прохождения аутентификации с их помощью вам для начала надо самостоятельно получить доступ к API, о том как это сделать вы можете узнать по этой ссылке. На данный момент он предоставляется только юр.лицам в ручном режиме.

В зависимости от типа вашего аккаунта вам необходимо получить токен доступа согласно типу вашего аккаунта в MyTarget. Пройти авторизацию для обычного клиентского аккаунта так ж можно по сехеме Client Credentials Grant для обычного рекламодателя и для агентства.

Получение токена для обычного рекламного аккаунта.

myTargetAuth <- myTarAuth(grant_type = "client_credentials",
                          client_id = "XXXXXXXXXX",
                          client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
              code_grant = FALSE)       

Аргументы: grant_type - Тип вашего аккаунта, в данном случае обычный клиентский аккаунт. client_id - ID выдаётся вам при подтверждение доступа к API MyTarget. client_secret - Выдаётся вам при подтверждение доступа к API MyTarget вместе с Client ID.

Получение токена для агентского аккаунта.

myTarGetAuth <- myTarAuth(grant_type = "agency_client_credentials",
                          client_id = "XXXXXXXXXX",
                          client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                          agency_client_name = "xxxxxxxxx@agency_client",
              code_grant = FALSE)

Вариант grant_type=agency_client_credentials не является стандартным для OAuth2. Он реализован для того, чтобы агентства могли создавать access-токены для своих клиентов напрямую. Помимо параметров client_id, client_secret нужно передавать agency_client_name. Для получения информации по агентскому аккаунту, например поучить список клиентов агентсва необходимо следовать первой описанной схеме с grant_type = "client_credentials" и получить токен агентского аккаунта.

Обновление токена доступа

При авторизации по схеме Authorization Code Grant, которая установлена в rmytarget по умолчанию, обновлять токены вам не потребуются, во первых потому, что вы получаете бессрочный токен, а во вторых при работе по этой схеме пакет при необходимости сам будет обновлять токеню

При работе со схемамы авторизации Client Credentials Grant и Agency Credentials Grant. Каждый полученный access-токен является действительным в течение суток. На это указывает свойство expires_in в ответе на запрос access-токена. Для обновления токета в пакете rmytarget есть функция myTarRefreshToken

myTarGetAuth <- myTarRefreshToken(old_auth = myTargetAuth,
                                  client_id = "xxxxxxxxx",
                                  client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxx...")

Аргументы функции: old_auth - R объект с учётными данными полученный с помощью функции myTarAuth. client_id - ID выдаётся вам при подтверждение доступа к API MyTarget. client_secret - Выдаётся вам при подтверждение доступа к API MyTarget вместе с Client ID.

Подробную информацию о схеме аутинтификации в API вы можете получить по ссылке.

Получение списка клиентов для агентского аккаунта.

Эта функция доступна только для агентских аккаунтов, и соответсвенно для токенов выданных агентским аккаунтам.

myTarGetClients <- myTarGetClientList(login = "agency_login")

Аргументы функции:

Получение списка рекламных кампаний.

Функция доступна для рекламных аккаунтов в которых есть рекламные кампании, для того что бы получить список рекламных кампаний клиента агентства вам необходимо получить для этого клиента токен, указав имя клента в аргументе agency_client_name функции myTarAuth.

Campaign <- myTarGetCampaignList(login = "your_login")

Аргументы функции:

Получение списка объявлений.

Для загрузки списка объявлений используйте функцию myTarGetAdList.

Ads <- myTarGetAdList(login = "your_login")

Аргументы функции:

Получение статистики по рекламным аккаунтам и объявлениям.

Для загрузки статистики необходимо использовать функцию myTarGetStats. Примеры её использования приведены в начале документации.

Аргументы функции:

Группы метрик которые можно задавать в аргументе metrics:

base - базовые метрики:

events - метрики для рекламируемых сообщений в ленте социальных сетей:

uniques - метрики по количеству уникальных пользователей:

video - метрики для видеорекламы:

viral - метрики виральных событий:

carousel - статистика по отдельным слайдам рекламной карусели (N - от 1 до количества слайдов):

tps - статистика по дополнительным списаниям:

moat - статистика по данным сервиса moat:

Автор пакета: Алексей Селезнёв, Head of Analytics Dept. at Netpeak

Контакты email: selesnow@gmail.com skype: selesnow telegram: @AlexeySeleznev Facebook Vkontakte Linkedin Blog GitHub Stepic



selesnow/rmytarget documentation built on Oct. 22, 2021, 12:04 p.m.