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; /*Убираем горизонтальное позиционирование*/ }
Вы можете поддержать проект любой произвольной суммой воспользовавшись кнопкой или перейдя по этой ссылке.
function runWfpWdgt(url){var wayforpay=new Wayforpay();wayforpay.invoice(url);}Оплатить
Наиболее простой способ разобраться с функционалом пакета и научиться работать с его помощью с Facebook Marketing API является просмотрт серии из 6 коротких видео уроков.
Вы можете сразу перейти к просмотру всего плейлиста на YouTube.
Или же перейти к просмотру интересующего вас урока:
На данный момент в пакет входит 2 виньетки, посмотреть их можно либо по ссылкам либо используя внутренную документацию:
vignette('rfacebookstat-authorization', package = 'rfacebookstat')
vignette('rfacebookstat-get-statistics', package = 'rfacebookstat')
Для начала работы с API Facebook необходимо создать приложение: 1. Перейдите в левое меню и в разделе «Разработчик» выберите команду «Управление приложениями».
В кабинете разработчика нажмите кнопку «+ Добавить новое приложение».
Заполните поля «Отображаемое название приложения»,«Эл. адрес для связи», «Категория» и нажмите «Создайте ID приложения».
Далее вы попадете в меню «Установка и настройка продукта». Кликните на кнопку «Начать» напротив пункта «Вход через Facebook».
Перейдите в настройки приложения. Во вкладке «Основное» находится информация по ID и секрету приложения, которая понадобится для работы с API.
На этой вкладке также заполните поля: + «Отображаемое название»; + «Домены приложений»; + «Эл. адрес для связи»; + «URL-адрес политики конфиденциальности»; + «URL-адрес Пользовательского соглашения».
Можно указать произвольное название приложение, а остальные поля заполнить как на примере ниже.
Из списка предложенных платформ выберите веб-сайт.
В поле «URL-адрес сайта» введите «https://github.com/selesnow/rfacebookstat» и нажмите «Сохранить изменения».
В меню приложения перейдите в раздел «Вход через Facebook». В поле «Действительные URL-адреса для перенаправления OAuth» введите «https://selesnow.github.io/rfacebookstat/getToken/get_token.html».
Далее нужно выбрать, из каких рекламных аккаунтов вы будете получать статистику через API и скопировать их ID (Чтобы получить ID аккаунта, перейдите в рекламный кабинет и скопируйте цифры из параметра act в URL.).
Перейдите в раздел «Настройки» —> «Дополнительно» и в блоке «Рекламные аккаунты» нажмите кнопку «API Ads».
В открывшемся окне введите ID выбранных рекламных аккаунтов.
На данном этапе вы получили уровень доступа к API «Development» и можете работать максимум с пятью рекламными аккаунтами. Если вам понадобится полный доступ к API, подробная инструкция находится здесь
Для установки пакета запустите приведённый ниже код в RStudio или R консоли. Установка из главного репозитория CRAN:
install.packages("rfacebookstat")
Устновка наиболее актульной dev версии пакета:
if(!"devtools" %in% installed.packages()[,1]){install.packages("devtools")}
devtools::install_github('selesnow/rfacebookstat')
# Установка и подключение пакета rfacebookstat
devtools::install_github("selesnow/ryandexdirect")
library(rfacebookstat)
# опции для авторизации
options(rfacebookstat.username = "Ваш логин на FACEBOOK",
rfacebookstat.token_path = "Путь к папаке где будут храниться учётные данные")
# авторизация в API
fbAuth()
# Загрузка объектов API
# бизнес менеджеры
my_fb_bm <- fbGetBusinessManagers()
# рекламные аккаунты
my_fb_acc <- fbGetAdAccounts(source_id = my_fb_bm$id,
access_token = fb_token)
# опции для выбора рекламных аккаутов
options(rfacebookstat.accounts_id = c("act_111",
"act_222",
"act_333"))
# Объекты рекламного аккаунта
# кампании
my_fb_camp <- fbGetCampaigns()
# группы объявлений
my_fb_adsets <- fbGetAdSets()
# объявления
my_fb_ads <- fbGetAds()
# контент объявлений
my_fb_ad_content <- fbGetAdCreative()
# страницы
my_fb_page <- fbGetPages()
# приложения
my_fb_apps <- fbGetApps()
# рекламируемые видео
my_fb_videos <- fbGetAdVideos()
# список настроенных кастомных конверсий
my_fb_conversions <- fbGetAdAccountsConversions()
# загрузка статистики
my_fb_stats <- fbGetMarketingStat(level = "campaign",
fields = "account_name,campaign_name,impressions,clicks",
breakdowns = "device_platform",
date_start = "2018-08-01",
date_stop = "2018-08-07",
interval = "day")
# управление пользователями
# получить список пользователей
fb_acc_user <- fbGetAdAccountUsers(accounts_id = "act_262115113",
console_type = "message")
# удалить пользователя из рекламного аккаунта
fbDeleteAdAccountUsers(user_ids = "823041644481205",
accounts_id = "act_262115113")
# добавить пользователя в рекламный аккаунт
fb_acc_user2 <- fbGetAdAccountUsers(accounts_id = "act_262115113",
console_type = "message")
Вся работа с API Facebook Marketing происходит через зарегистрированное вами приложение. О том, как устроен процесс аутентификации в Facebook Marketing API подробно описано тут.
Для прохождения авторизации в пакете rfacebookstat есть функция fbGetToken
, реализуется через одноэтапную аутентификацию. Никакой опасности в том, что ваш токен будет перехвачен через отчёты Google Analytics нет, скрин того, как в Google Analytics выглядит посещение страницы генерации токена.
Пакет rfacebookstat был опубликован в официальном хранилище пакетов для языка R - CRAN, перед публикаций в котором все пакеты проходят модерацию командой профессионалов, поэтому это так же может являться дополнительной гарантией того, что использование пакета является безопасным.
К тому же код пакета rfacebookstat открыт, и находится в свободном доступе на GitHub, в связи с чем перед его использованием, вы можете посмотреть код любой его функции.
ВАЖНО никому не передавайте полученные с помощью пакета rfacebookstat авторизационные токены, т.к. передав токен вы предоставите доступ к управлению вашеми рекламными матеариалами, при этом доступ к аккаунту вы в любом случае не потеряете, но ваши объявления сможет редактировать человек завладевший токеном.
Этот раздел должен быть подробно описан по требованиям Facebook.
При авторизации, вы соглашаетесь предоставить пакету rfacebookstat следующие разрешения: + ads_read - Возможность просматривать отчеты по рекламе в API Ads Insights для ваших собственных рекламных аккаунтов или рекламных аккаунтов, доступ к которым вам предоставили их владельцы посредством этого разрешения. Это разрешение не позволяет обновлять, покупать или изменять рекламу. + ads_management - Возможность просматривать рекламу и управлять ею для собственных рекламных аккаунтов или рекламных аккаунтов, доступ к которым вам дали их владельцы посредством этого разрешения. + business_management - Чтение и запись с помощью API Business Management. + manage_pages - Позволяет rfacebookstat получать доступ к Страницам и Приложениям, которые человек администрирует.
При этом пакет rfacebookstat не передаёт третим лицам, включая автора пакета, собираемые им данные, и доступы к рекламным и прочим источникам. Вся информация и доступы полученные rfacebookstat используется только вами, и людьми которым вы сами её предоставили.
Опции помогают вам избежать дублирования кода во всех функциях пакета. На данный момент в rfacebookstat
поддерживаются следующие опции:
Установленные опции работают в ходе вашей текущей R сессии, в связи с чем через опции рекомендуется задать список рекламных аккаунтов.
library(rfacebookstat)
options(rfacebookstat.accounts_id = c("act_111",
"act_222",
"act_333"))
fbGetSettings()
Переменные среды позволяют вам на глобальном уровне задать некоторые настройки пакета, что позволит вам не устанавливать их в каждом новом скрипте через опции или аргументы функций.
Задать опции можно с помощью специальных утилит вашей операционной системы, файла .Renviron или команды Sys.setenv()
.
fbAuth()
.fbAuth()
токен доступа к API.Sys.setenv(RFB_USER="seleznev_a",
RFB_TOKEN_PATH="D:/fb_auth_store")
library(rfacebookstat)
fbGetSettings()
Через переменные среды рекомендуется устанавливать значения пользователя Facebook и путь к папаке с фалом в котором хранятся учётные данные.
На данный момент в пакете rfacebookstat доступно 16 функций, с помощью которых вы можете получить любой объект из бизнес менеджера или рекламного кабинета, а так же загрузить статистику по эффективности ведения рекламы на Facebook.
ФункцияОписание fbAuthАвторизация в API fbGetSettingsВыводит в консоль текущие настройки пакета fbGetTokenПолучает краткосрочный токен для доступа к API Facebook fbGetLongTimeTokenМеняет краткосрочный на долгосрочный токен fbGetBusinessManagersЗагружает список доступных бизнес менеджеров fbGetAdAccountUsersЗагружает список пользователей из рекламных аккаунтов fbGetAdAccountUsersPermissionsЗагружает список пользователей из рекламных аккаунтов с их привилегиями и ролью, по смыслу очень схожа с fbGetAdAccountUsers fbUpdateAdAccountUsersДобавить пользователей в рекламные аккаунты Facebook fbDeleteAdAccountUsersУдалить пользователей из рекламных аккаутов в Facebook fbGetAppsПолучает список рекламируемых приложений fbGetPagesПолучает список рекламируемых страниц fbGetAdVideosПолучает список рекламируемых видео fbGetAdAccountsConversionsПолучает список настроенных в рекламных аккаунтах пользовательских конверсий fbGetAdAccountsПолучает список доступных рекламных аккаунтов fbGetCampaignsПолучает список всех рекламных кампаний из рекламного аккаунтов Facebook fbGetAdSetsПолучает список всех групп объявлений из рекламных аккаунтов fbGetAdsПолучает список всех объявлений из рекламных аккаунтов fbGetAdCreativeПолучает список контента всех объявлений из рекламных аккаунтов fbGetMarketingStatПолучает статистику из рекламного кабинетаДля работы с функциями пакета rfacebookstat и доступа к API Facebook вам понадобится токет (маркер), получить его можно либо с помощью представленой ниже формы, или функции fbGetToken
Авторизация в API Facebook. Если ответить y
на вопрос “Do you want save your access token into rds file C:/my_develop_workshop/ppc_report_2/.rfb_auth.rds for use it between R sessions ?
то после прохождения процесса авторизации создаёт в указанной папке файл с учётными данными.
Наиболее подробное описание процесса авторизации, настройки пакета rfacebookstat
и то как надо работать с функцией fbAuth()
можно найти в виньетке "Авторизация в API facebook"
Функция возвращает текущие настройки применённые к пакету rfacebookstat
Функция предназначена для получения краткосрочного токена для доступа к API Facebook.
fbGetToken(app_id = 000000000)
MyFBToken <- fbGetToken(app_id = 1111111111111111)
После запуска приведённого выше кода при первом запуске функции наиболее вероятно что вы попадёте на страницу предупреждения:
Пропустите это предупреждение с помощью кнопки «Продолжить как, ...».Далее откроется окно в котором приложение запрос разрешение на доступ к данным.
После того как вы подтвердите доступ, нажав ОК вы попадаете на страницу https://selesnow.github.io/rfacebookstat/getToken/get_token.html, на которой будет сгенерирован токен доступа к API Facebook.
Данная функция меняет краткосрочный токен с сроком 2 часа на долгосрочный токен который действителен на протяжении двух месяцев.
fbGetLongTimeToken(client_id,client_secret,fb_exchange_token)
Данная функция загружает список доступных бизнес менеджеров с некоторыми их параметрами.
fbGetBusinessManagers(api_version = "v2.10", access_token = NULL)
Данная функция загружает список пользователей рекламных аккаунтов.
fbGetAdAccountUsers(accounts_id = NULL ,api_version = "v2.10", access_token = NULL)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Данная функция загружает список пользователей рекламных аккаунтов с их привилегиями и ролью.
Расшифровка привилегий: 1: ACCOUNT_ADMIN: Имеет права на изменение списка пользователей рекламного аккаунта и привелегий пользователей. 2: ADMANAGER_READ: Имеет права просмотра рекламных кампаний и объявлений. 3: ADMANAGER_WRITE: Имеет права вносить изменения в рекламные аккаунты. 4: BILLING_READ: Право просмотра информации о платежах 5: BILLING_WRITE: Права внесения изменений в платёжные данные 7: REPORTS: Просмотр отчётов 9, 10 - Право подать заявку на некоторые управляемые аккаунты. В настоящее время не требуется для вызовов API маркетинга.
Расшифровка роли 1001 = Администратор 1002 = Рекламодатель 1003 = Аналитик 1004 = Прямой доступ к продажам. Для ограниченных управляемых учетных записей.
fbUpdateAdAccountUsers(accounts_id = NULL, access_token = NULL)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Добавляет пользователей в рекламные аккаунты Facebook с определённым набором прав. Для того, что бы добавить пользователей в аккаунт вы должны быть админисратором данного аккаунта.
fbUpdateAdAccountUsers(user_ids = NULL, role = "advertiser", accounts_id = NULL, access_token = NULL)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Удаляет пользователей из рекламных аккаунтов Facebook с определённым набором прав. Для того, что бы удалить пользователей из аккаунта вы должны быть админисратором данного аккаунта.
fbDeleteAdAccountUsers(user_ids = NULL, accounts_id = NULL, api_version = "v2.12", access_token = NULL)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Данная функция возвращает набор данных со списком аккаунтов в вашем бизнес менеджере.
fbGetApps(accounts_is, api_version, access_token)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Функция возвращает список всех страниц по конкретному проекту бизнес менеджера.
fbGetPages(accounts_is, api_version, access_token)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Функция возвращает список всех рекламных аккаунтов по конкретному проекту бизнес менеджера.
fbGetAdAccounts(source_id, api_version, access_token )
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Функция возвращает список всех рекламных кампаний из рекламного аккаунта Facebook.
fbGetCampaigns(accounts_id, api_version, access_token)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Функция возвращает список всех групп объявленйий из рекламного аккаунта Facebook.
fbGetAdSets(accounts_id, api_version, access_token)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Функция возвращает список всех объявленйий из рекламного аккаунта Facebook.
fbGetAds(accounts_id, api_version, access_token)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Функция возвращает список контента объявлений из рекламного аккаунта Facebook.
fbGetAdCreative(accounts_id, api_version, access_token)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Функция возвращает список рекламируемых видео из рекламного аккаунта Facebook.
fbGetAdVideos(accounts_id, api_version, access_token, username, token_path)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Функция возвращает список настроенных в рекламных аккаунтах пользовательских конверсий из рекламного аккаунта Facebook.
fbGetAdAccountsConversions(accounts_id, api_version, access_token, username, token_path)
fbGetAccounts()
указывайте ID аккаунта с приставкой «act_», как в примере: accounts_id = "act_000000000000". По умолчанию запршивается из опции rfacebookstat.accounts_id
rfacebookstat.api_version
fbAuth
, fbGetToken()
или fbGetLongTimeToken()
. По умолчанию запрашивается из опции rfacebookstat.access_token
.rfacebookstat.username
rfacebookstat.token_path
Основная функция пакета с помощью который вы можете получить статистику по своим рекламным аккаунтам.
Работа с данной функцией, и всё её аргументы подробно рассмотренны в виньетке "Загрузки статистики из рекламных аккаунтов Facebook"
fbGetMarketingStat(accounts_id, sorting, level, breakdowns, action_breakdowns, fields, filtering, date_start, date_stop, interval, console_type, request_speed, api_version, access_token)
request_speed - скорость оправки запросов к API, в зависимости от уровня доступа вашего приложения установите следующее значение:
api_version - Версия API Facebook в формате v., например v5.0 (не рекомендуется менять)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.