• Добро пожаловать на сайт - Forumteam.digital !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

Для тех у кого проблемы с авторизацией, API VK 5.0 [FIX]

  • Автор темы Redman
  • Дата начала
  • Ответы 0
  • Просмотры 3K

Redman

<FORUMTEAM>
Команда форума
Регистрация
13.11.17
Сообщения
13.340
Реакции
8.377
Баллы
1.200
FTC
208¢
Темка не моя, но мне со своей рулеткой очень помогла. Наверняка поможет и вам. Скрипты очень отличатся могут, по-этому если что пишите мне, постараюсь вам помочь.

-------------------------------------------------------------------------------------------------------
На днях вышло обновление API VK
Пруф - https://vk.com/dev/version_update_2.0

В связи с этим у многих рулеток поломалась авторизация.

ErrorException in LoginController.php
line 26: Undefined index: response

Выпускаю инструкцию по фиксу:

Открываем файл LoginController, ищем метод vklogin или что то похожее.
В нем будет curl запрос на api вк, что то типо этого:
Код:
$info = json_decode($this->curl('https://api.vk.com/method/users.get?user_ids&fields=photo_200&access_token=' . $obj->access_token . '&v=V'), true);

Нам нужно зайти сюда: https://vk.com/dev/version5 во второй колонке будет старое название параметра в первой будет новое название, меняем в своем коде соответсвенно.
В моем случае нужно изменить user_id на uids
Код:
$info = json_decode($this->curl('https://api.vk.com/method/users.get?uids&fields=photo_200&access_token=' . $obj->access_token . '&v=V'), true);

Далее в конце есть параметр v=V, его заменяем на v=5.0:

Код:
$info = json_decode($this->curl('https://api.vk.com/method/users.get?uids&fields=photo_200&access_token=' . $obj->access_token . '&v=5.0'), true);

После этого мы должны идти в низ по коду и искать фразу uid и заменять ее на id

Код:
     $user = User::where('login2', $info['response'][0]['id'])->first();
                    if($user == NULL)
                    {
                        if(array_key_exists('photo_200', $info['response'][0]))
                        {
                            $photo = $info['response'][0]['photo_200'];
                        }
                        else
                        {
                            $photo = 'http://vk.com/images/camera_200.png';
                        }
                        $user = User::create([
                        'username' => $info['response'][0]['last_name'] . ' ' . $info['response'][0]['first_name'],
                        'avatar' => $photo,
                        'login' => 'id'.$info['response'][0]['id'],
                        'login2' => $info['response'][0]['id'],
                        'ref_code' => $this->generate()
                        ]);
                    }
                    else
                    {
                        if(array_key_exists('photo_200', $info['response'][0]))
                        {
                            $photo = $info['response'][0]['photo_200'];
                        }
                        else
                        {
                            $photo = 'http://vk.com/images/camera_200.png';
                        }
                        $user->username = $info['response'][0]['last_name'] . ' ' . $info['response'][0]['first_name'];
                        $user->avatar = $photo;
                        $user->login = 'id'.$info['response'][0]['id'];
                        $user->login2 = $info['response'][0]['id'];
                        $user->save();
                    }
 
Сверху Снизу