class VkClientService

Класс VkClientService предоставляет сервисы для взаимодействия с VK API.

Этот класс инкапсулирует логику отправки запросов к VK API, обработки полученных ответов, а также управления ошибками, возникающими в процессе взаимодействия с API.

Constants

API_URI

API_VERSION

API_TIMEOUT

Methods

__construct(AccountRepositoryInterface $accountRepository)

Конструктор класса VkClientService.

array
request(string $method, array $parameters = [], string|null $token = null)

Отправляет запрос к VK API.

array
fetchAllAccounts()

Получает данные всех аккаунтов.

array
fetchAccountData(mixed $ids)

Получает данные аккаунта по указанным ID.

array
fetchGroupData(int $id)

Получает данные группы по её ID.

array
fetchAccountFollowers(int $id, int $limit)

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

array
fetchAccountFriends(int $id, int $limit = 6)

Получает друзей аккаунта.

array[]
fetchAccountCountFriends(int $accountId, int $ownerId, string $token)

Получает количество друзей аккаунта.

array
fetchAccountInfo(string $token)

Получает информацию об аккаунте.

array
fetchAccountNewsfeed(int $accountId, string $startFrom, mixed $loggingService)

Получает новостную ленту аккаунта.

fetchWallPostsByDomain($accountId, $domain, $startFrom, $loggingService)

No description

array
fetchLikes(string $access_token, string $type, int $owner_id, int $item_id)

Получает информацию о лайках к объекту.

array
fetchUsers(array $users_ids)

Получает данные пользователей по их ID.

array
searchUsers(VkUserSearchFilter $filter, int $accountId)

Выполняет поиск пользователей ВКонтакте с применением фильтров.

array
getCities(string $query, int $countryId = 1, int $count = 100)

Получает список городов через VK API.

string
getAccessTokenByAccountID(int $account_id)

Получает токен доступа по ID аккаунта.

string
getScreenNameByToken(string $access_token)

Получает имя пользователя (screen name) по токену доступа.

array
setAccountData(string $token, AccountRepositoryInterface $accountRepository)

Устанавливает данные аккаунта.

array
addLike(int $ownerId, int $itemId, string $accessToken, mixed $loggingService)

Добавляет лайк к посту или другому объекту.

array
deleteAccount(int $id)

Удаляет аккаунт по его ID.

array
deleteLike(string $accessToken, string $type, int $owner_id, int $item_id)

Отменяет лайк с поста или другого объекта.

Details

at line 38
__construct(AccountRepositoryInterface $accountRepository)

Конструктор класса VkClientService.

Parameters

AccountRepositoryInterface $accountRepository

Репозиторий аккаунтов.

at line 66
array request(string $method, array $parameters = [], string|null $token = null)

Отправляет запрос к VK API.

Parameters

string $method

Название метода VK API.

array $parameters

Параметры запроса к API.

string|null $token

Токен доступа. Если не указан, используется токен по умолчанию.

Return Value

array

Ответ от VK API.

Exceptions

VkException

at line 80
array fetchAllAccounts()

Получает данные всех аккаунтов.

Return Value

array

Данные аккаунтов.

at line 102
array fetchAccountData(mixed $ids)

Получает данные аккаунта по указанным ID.

Parameters

mixed $ids

ID аккаунтов (массив или строка).

Return Value

array

Данные аккаунта(ов).

Exceptions

VkException

at line 138
array fetchGroupData(int $id)

Получает данные группы по её ID.

Parameters

int $id

ID группы.

Return Value

array

Данные группы.

Exceptions

VkException

at line 164
array fetchAccountFollowers(int $id, int $limit)

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

Parameters

int $id

ID аккаунта.

int $limit

Ограничение на количество возвращаемых подписчиков.

Return Value

array

Подписчики аккаунта.

Exceptions

VkException

at line 184
array fetchAccountFriends(int $id, int $limit = 6)

Получает друзей аккаунта.

Parameters

int $id

ID аккаунта.

int $limit

Ограничение на количество возвращаемых друзей.

Return Value

array

Друзья аккаунта.

Exceptions

VkException

at line 205
array[] fetchAccountCountFriends(int $accountId, int $ownerId, string $token)

Получает количество друзей аккаунта.

Parameters

int $accountId

ID аккаунта.

int $ownerId

ID владельца аккаунта.

string $token

Токен доступа.

Return Value

array[]

Количество друзей.

Exceptions

VkException

at line 229
array fetchAccountInfo(string $token)

Получает информацию об аккаунте.

Parameters

string $token

Токен доступа.

Return Value

array

Информация об аккаунте.

Exceptions

VkException

at line 249
array fetchAccountNewsfeed(int $accountId, string $startFrom, mixed $loggingService)

Получает новостную ленту аккаунта.

Parameters

int $accountId

ID аккаунта.

string $startFrom

Стартовая точка для пагинации.

mixed $loggingService

Сервис логирования.

Return Value

array

Новостная лента.

Exceptions

VkException

at line 283
fetchWallPostsByDomain($accountId, $domain, $startFrom, $loggingService)

No description

Parameters

$accountId
$domain
$startFrom
$loggingService

at line 327
array fetchLikes(string $access_token, string $type, int $owner_id, int $item_id)

Получает информацию о лайках к объекту.

Parameters

string $access_token

Токен доступа.

string $type

Тип объекта (например, post).

int $owner_id

ID владельца объекта.

int $item_id

ID объекта.

Return Value

array

Информация о лайках.

Exceptions

VkException

at line 343
array fetchUsers(array $users_ids)

Получает данные пользователей по их ID.

Parameters

array $users_ids

Массив ID пользователей.

Return Value

array

Данные пользователей.

Exceptions

VkException

at line 367
array searchUsers(VkUserSearchFilter $filter, int $accountId)

Выполняет поиск пользователей ВКонтакте с применением фильтров.

Метод использует API ВКонтакте users.search для поиска пользователей с учетом заданных параметров фильтрации.

Parameters

VkUserSearchFilter $filter

Фильтр с параметрами поиска

int $accountId

ID аккаунта, от имени которого выполняется поиск

Return Value

array

Результаты поиска пользователей

Exceptions

VkException

at line 390
array getCities(string $query, int $countryId = 1, int $count = 100)

Получает список городов через VK API.

Метод выполняет запрос к методу database.getCities API ВКонтакте для получения списка городов по поисковому запросу.

Parameters

string $query

Строка для поиска городов

int $countryId

ID страны (по умолчанию 1 - Россия)

int $count

Максимальное количество возвращаемых городов

Return Value

array

Результат запроса к API

Exceptions

VkException

at line 406
string getAccessTokenByAccountID(int $account_id)

Получает токен доступа по ID аккаунта.

Parameters

int $account_id

ID аккаунта.

Return Value

string

Токен доступа.

at line 417
string getScreenNameByToken(string $access_token)

Получает имя пользователя (screen name) по токену доступа.

Parameters

string $access_token

Токен доступа.

Return Value

string

Имя пользователя.

at line 430
array setAccountData(string $token, AccountRepositoryInterface $accountRepository)

Устанавливает данные аккаунта.

Parameters

string $token

Токен доступа.

AccountRepositoryInterface $accountRepository

Репозиторий аккаунтов.

Return Value

array

Exceptions

VkException

at line 469
array addLike(int $ownerId, int $itemId, string $accessToken, mixed $loggingService)

Добавляет лайк к посту или другому объекту.

Parameters

int $ownerId

ID владельца объекта.

int $itemId

ID объекта.

string $accessToken

Токен доступа для выполнения операции.

mixed $loggingService

Сервис логирования.

Return Value

array

Результат добавления лайка.

Exceptions

VkException

at line 516
array deleteAccount(int $id)

Удаляет аккаунт по его ID.

Parameters

int $id

ID аккаунта.

Return Value

array

Результат удаления аккаунта.

at line 536
array deleteLike(string $accessToken, string $type, int $owner_id, int $item_id)

Отменяет лайк с поста или другого объекта.

Parameters

string $accessToken

Токен доступа.

string $type

Тип объекта.

int $owner_id

ID владельца объекта.

int $item_id

ID объекта.

Return Value

array

Результат отмены лайка.

Exceptions

VkException