Skip to content

Releases: selesnow/rvkstat

rvkstat 3.2.0

18 Oct 10:04
Compare
Choose a tag to compare

В данном релизе исправлен ряд ошибок, и добавлено несколько новых функций.

  • Исправлена проблема дублирования строк в функции vkGetUserWall(), по тикету #31.
  • Доработана функция vkGetAdStatistics() согласно тикету #33.
  • Добавлена функция vkGetGroupMembers(), которая позволяет получить список участников сообщества.
  • Исправил ошибку Column activity doesn't exist которая периодически возникала при использовании функции vkGetGroupStat().
  • Добавлены функции запроса справочников университетов, школ и станций метро: vkGetDbUniversities(), vkGetDbSchools(), vkGetDbMetroStations().

Глобальное обновление rvkstat 3.0.0

15 Jan 10:21
Compare
Choose a tag to compare

Большое обновление связано с тем, что пакет требовал серьёзной актуализации и перехода на наиболее актуальную версию API Вконтакте.

3.0.0

Дата релиза: 2021-01-14

Большое обновление пакета, которое коснулось совершенно всех функций:

  • Пакет переведён на работу с API Вконтакте версии 5.126
  • В пакет теперь вшито приложение для работы с API Вконтакте, но вы по прежнему можете использовать созданные вами приложения.
  • Функция vkAuth() теперь может кешировать полученные учётные данные в локальный файл. Т.е. теперь нет необходимости хранить токены в виде текста в коде.
  • Пакет поддерживает опции и переменные среды для определеня пользователя, аккаунта, агентского аккаунта, версии API, токена, пути к учётным данным, id приложения для работы с API.
  • В пакет добавлено семейство функций vkSet*(), которые упрощают установку опций пакета.
  • В rvkstat был добавлен логгер, на данный момент он выводит не так много информации, но в будущем будет более функционален, управлять уровнем детализации можно с помощью функции vkSetThreshold().
  • У всех функций 4 последние аргумента теперь: username, api_version, token_path, access_token. При этом нет необходимости указывать версию API и токен. Лучшей практикой считается задать с помощью опций rvkstat.username и rvkstat.token_path логин пользователя под которым вы прошли авторизацию, и путь к папаке в которой хранятся учётные данные.
  • В функции vkGetAdCategories() появился дополнительный аргумент version, который позволяет указать какую версию справочника вы хотите получить, указав v1 вы получите справочник категорий с включающий устаревшие тематики, указав v2 вы получите справочник включающий только актуальные категории.
  • Изменился набор аргументов и результат в функциях: vkGetGroupStatGenderAge().
  • Большинство функций не именило свой интерфейс, но при этом мог изменится итоговый результат который возвращает функция, это связанно с изменениями которые были внедрены ща последний год в API Вконтакте.
  • Из пакета была удалена функция vkGetUserDialogs() в связи с тем, что она использовала утаревший метод API, работа которого боле ене поддерживается.
  • Во всех функциях был оптимизирован процесс парсинга результата, он был полностью переписан с циклов на функции unnest_longer() и unnest_wider() из пакета tidyr. Это добавило пакету дополнительные зависимости, но оптимизировало скорость парсинга результата.
  • Из пакета удалена устаревшая зависимость с пакетом RCurl, который использовался в самых ранних функциях пакета. Теперь во всех функциях для отправки запросов используется пакет httr.
  • В функциях из семейства vkGetGroupStat*() добавлено 2 новые аргумента: interval, intervals_count. Данные аргументы позволяют запрашивать данные за условный период.
  • В документацию по каждой функции добавлен блок references, с ссылкой на документацию по API методу который лежит в основе функции.

rvkstat опубликован на CRAN

30 Jul 05:57
b5eebe2
Compare
Choose a tag to compare

28 июля 2019 года пакет rvkstat версии 2.6.2 был опубликован на CRAN.

Что нового:

  • Теперь нет необходимости регистрировать своё приложение для работы с API Вконтакте, пакет связан с моим приложением. Тем не менее вы по-прежнему можете использовать собственные приложения для авторизации.
  • В пакет внесены изменения по использованию справочников, ранее они загружались из csv файлов на GitHub, и это периодически вызывало проблемы с кодировкой. Теперь справочники вшиты в пакет.
  • В пакет внесены изменения по работе с опцией stringAsFactor.
  • В версии опубликованной на CRAN внутренняя документация пакета переведена на английский, в версии на GitHub я пока что оставляю русскоязычные встроенные мануалы. К тому же официальная документация так же остаётся на русском языке.

Патч к версии 2.5.4

18 Jan 14:25
9aea4ad
Compare
Choose a tag to compare

В релизе версии 2.5.4 была ошибка, полям reach и impressions присваивалось значение кликов, ошибка уже исправлена в версии 2.5.5.

Так же убрали доработку из прошлого патча -

в формирование датафреймов в добавил 0 вместо NA на параметры spent, clicks, impressions, reach

Поскольку при расчетет среднего обычно не учитываются ячейки с NULL, в случае с 0 это повлияет на расчёты.

Доработана функция vkGetAdStatisctics

17 Jan 08:04
a3ca4a9
Compare
Choose a tag to compare

За данный релиз спасибо Эдуарду Горху (@grkhr).

И так, доработки коснулись функции vkGetAdStatisctics.

  • Прописано разбиение на несколько запросов, если количество входных айдишников больше 400 (вк ругается на длинные урлы);
  • Прописан обработчик ошибки Flood Control;
  • В консоль-лог выводится остаток запросов и время обновления лимитов + прописан обработчик этого (если лимит кончился, то ждет до обновления);
  • В формирование датафреймов вместо NA выводится 0 на параметры spent, clicks, impressions, reach и join_rate.

rvkstat 2.5.0 - Новые функции

03 Apr 13:11
6b9a10d
Compare
Choose a tag to compare

rvkstat 2.5.0

Обновить пакет до актуальной версии можно с помощью следующего кода:

if (require(devtools)) install.packages("devtools")
devtools::install_github("selesnow/rvkstat")

1. Исправлена ошибка в функции vkGetUserWall

1.1. Исправлена ошибка в функции vkGetUserWall,теперь она корректно обращается как к старой версии API, т.е. до 5ой, так и с новой версией 5.x. - #4

1.2. Так же помимо статистики по количеству комментариев, репостов и лайков теперь vkGetUserWall возвращает количество просмотров сообщения.

2. В добавлена функция vkGetGroupStatPostReach

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

Ограничения по работе с функцией vkGetGroupStatPostReach

  • Функция работает с методом API stats.getPostReach, который в свою очередь работает только с сообществами с количеством участников от 5000 и выше, а также официальных сообществ.

  • Получить статистику можно только для 300 последних (самых свежих) записей на стене сообщества.

Пример работы с функцией vkGetGroupStatPostReach

## Авторизация в вк
my_tok <- vkAuth(app_id = 1, app_secret = "H2Pk8htyFD8024mZaPHm")

## Получаем список сообщений сообщества
my_vk_wall  <- vkGetUserWall(user_id = -111111,
                             access_token = my_tok$access_token) 
							 
## Получаем подрубную статистику по последним 300 записям сообщества							 
post_reach <- vkGetGroupStatPostReach(owner_id = -2222222,
                                      post_ids = my_vk_wall$id,
                                      access_token = my_tok$access_token)

Ключ доступа сообщества и списки диалогов Вконтакте.

02 Mar 11:07
2a480d8
Compare
Choose a tag to compare

В rvkstat добавлены 2 функции:

  1. vkGetGroupToken - Для получения ключа доступа к сообществам.
  2. vkGetUserDialogs - Для загрузки списка диалогов.

Подробную справку по работе функций можно получить при помощи команды help:

  1. help("vkGetGroupToken")
  2. help("vkGetUserDialogs")

Данные возвращаемые функцией vkGetUserDialogs

  1. id - идентификатор сообщения (не возвращается для пересланных сообщений).
  2. date - дата отправки сообщения.
  3. out - тип сообщения (0 — полученное, 1 — отправленное, не возвращается для пересланных сообщений).
  4. user_id - идентификатор пользователя, в диалоге с которым находится сообщение.
  5. read_state - статус сообщения (0 — не прочитано, 1 — прочитано, не возвращается для пересланных сообщений).
  6. title - заголовок сообщения или беседы.
  7. body - текст сообщения.
  8. random_id - идентификатор, используемый при отправке сообщения. Возвращается только для исходящих сообщений.

Пример кода для загрузки списка диалогов сообществ:

library(rvkstat)
# Получаем ключ доступа для сообщества
group_token <- vkGetGroupToken(app_id = 111111, group_ids = 123456)

# Получаем список диалогов
message <- vkGetUserDialogs(access_token = group_token, count = 200)

Если надо получить список диалогов пользователя используйте ключ доступа пользователя, который можно получить с помощью функции vkGetToken.

В пакет rvkstat добавлена функция vkGetAdsLayout

27 Feb 16:07
66e4ddf
Compare
Choose a tag to compare

1. Новая функция vkGetAdsLayout

Возвращает описания внешнего вида рекламных объявлений.

Аргументы

  • account_id - Идентификатор рекламного кабинета, список всех доступных рекламных кабинетов можно получить с помщью функции vkGetAdAccounts.
  • client_id - Идентификатор клиента, у которого запрашиваются рекламные объявления. Доступно и обязательно для рекламных агентств.
  • include_deleted - Логическое TRUE или FALSE, флаг, задающий необходимость вывода архивных объявлений.
  • campaign_ids - Числовой вектор, фильтр по рекламным кампаниям.
  • ad_ids - Числовой вектор, фильтр по рекламным объявлениям.
  • status_names - Логическое TRUE или FALSE, если значение TRUE то формат объявления и тип оплаты будут возвращены в виде строковых значений, если передать в аргумент status_names значение FALSE то перечисленные значения будут возвращены в виде их ID.
  • api_version - Версия API к который вы будете обращаться, список актуальных версий доступен по ссылке.
  • access_token - Токен доступа к API, полученный с помощью функций vkAuth или vkGetToken

Пример кода для получения описания внешнего вида рекламных объявлений

##Авторизация в вконтакте
my_tok <- vkAuth(app_id = 11111111,app_secret = "H2Pk8htyFD8024mZaPHm")
#Получаем список объявлений с описанием их внешнего вида
my_vk_ads <- vkGetAdsLayout(account_id = 11111111, 
                            access_token = my_tok$access_token)

Возвращаемые значения

  • id - идентификатор объявления.
  • campaign_id - идентификатор кампании.
  • ad_format - формат объявления
  • cost_type - тип оплаты (0 — оплата за переходы, 1 — оплата за показы)
  • video - 1 — объявление является видеорекламой.
  • title - заголовок объявления.
  • description - описание объявления.
  • link_url - ссылка на рекламируемый объект.
  • link_domain - домен рекламируемого сайта.
  • preview_link - ссылка, перейдя по которой можно просмотреть рекламное объявление так, как оно выглядит на сайте. Ссылка доступна в течение 30 минут после выполнения метода ads.getAdsLayout функции.
  • image_src - url изображения объявления.

2. Во все функции добавлен необязательный аргумент api_version - Версия API к который вы будете обращаться, список актуальных версий доступен по ссылке.

Функция vkGetAdPostsReach теперь принимает более 100 ids.

19 Dec 09:53
4df452a
Compare
Choose a tag to compare

Доработана функция vkGetAdPostsReach, теперь она может обрабатывать неограниченное количество ids кампаний или объявлений.

Ранее при попытке получить статистику более чем по 100 объектам (кампаниям или объявлениям) возвращалась ошибка.

rvkstat теперь можно установить на Linux и Mac.

07 Nov 11:51
4670971
Compare
Choose a tag to compare

Новая версия rvkstat 2.1.0 теперь поддерживается на Linux и Mac, для установки на одну из этих ОС воспользуйтесь кодом:

if(!"devtools" %in% installed.packages()[,1]){install.packages("devtools")}
devtools::install_github('selesnow/rvkstat', subdir = "en")