ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Проверка на лайк (https://forum.antichat.xyz/showthread.php?t=1432062)

(^O_O^) 07.05.2022 19:32

vk_api

Приветствую, как можно проверить поставил ли пользователь лайк на пост или нет? Если поставил, записывать в бд + баллы

Ещё желательно проверку на то, лайкал он этот пост ранее или нет.​

Hatrig 08.05.2022 09:22

С помощью VK API, используя следующий метод: https://api.vk.com/method/likes.getList , он возвращает массив пользователей, лайкнувших запись.

Ниже привёл пример кода:

PHP:





Код:

$currentUser
=
ID
нужного пользователя в
INT
;
$accessToken
=
'Здесь твой Access Token'
;
$ownerID
=
'-89771130'
;
$postID
=
'1049220'
;
$link
=
'https://api.vk.com/method/likes.getList?type=post&owner_id='
.
$ownerID
.
'&item_id='
.
$postID
.
'&filter=likes&access_token='
.
$accessToken
.
'&v=5.131'
;
$usersArray
=
json_decode
(
file_get_contents
(
$link
)
)
-
>
response
-
>
items
;
foreach
(
$usersArray
as
$user
)
{
(
$user
===
$currentUser
)
?
AddToBase
(
$user
)
:
null
;
}
function
AddToBase
(
$user
)
{
// Здесь твой метод добавления в бд того, что тебе нужно
}



Если ссылка на пост (https://vk.com/wall-89771130_1049220), то ownerID = -89771130, postID = 1049220. Если пост принадлежит не сообществу, а пользователю, перед ownerID знака минуса не будет.


Время: 16:33