@Helen-Elena

Как правильно перейти на api vk?

после того, как вк перестал поддержку версий api 3.0 и 4.0 перестал работать скрипт динамической обложки вк, он отображал последнего вступившего в группу и пользователя, который поставил больше лайков, за определенный период времени, с новым получилось найти решение, а вот с "лайкером" нет..(( возвращает некорректный ответ: ok[ ]

что здесь не так?
public function getLikerId()
    {
        global $config;

        $users = [];

        $time_to = time();
        if (!empty($config['like_interval']['to'])) {
            $time_to = strtotime($time_to);
        }

        $posts = $this->getPosts(-$config['group_id']);

        foreach ($posts as $post) {
            if ($post->date < strtotime($config['like_interval']['from']) || $post->date > $time_to) {
                continue;
            }

            $likes = $this->getLikes(-$config['group_id'], $post->id);

            foreach ($likes->users as $id) {
                if (isset($users[$id])) {
                    $users[$id]++;
                } else {
                    $users[$id] = 1;
                }
            }
        }

        arsort($users);
        $user_ids = array_keys($users);
        $user_id = array_shift($user_ids);
        return $user_id;
    }

    /**
     * Getting posts
     * @param integer $owner_id - owner post id
     * @param integer $count - count posts
     * @return object - vk posts array
     */
    private function getPosts($owner_id = 1, $count = 100)
    {
        $res =  $this->api('wall.get', [
            'owner_id' => $owner_id,
            'count'   => $count,
            ]);
        return $res;
    }

    /**
     * Getting likes for post
     * @param integer $owner_id - owner post id
     * @param integer $item_id - post id
     * @param string $type - type
     * @return object - vk likes array
     */
    private function getLikes($owner_id = 1, $item_id = 1, $type = 'post')
    {
        return $this->api('likes.getList', [
            'owner_id' => $owner_id,
            'item_id'   => $item_id,
            'type'   => $type,
            ]);
    }
  • Вопрос задан
  • 161 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
BasicDecor Москва
от 90 000 до 130 000 руб.
Wisebits Лимассол
от 3 500 eur.
Улыбка радуги Санкт-Петербург
от 100 000 руб.