Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Strategius

(STR34) IPB 3.4.9 VK Login

Рекомендованные сообщения

На 3.4.6 подойдёт это мод?

Поделиться сообщением


Ссылка на сообщение

Посмотрите что в $result.

Как?

Поделиться сообщением


Ссылка на сообщение
Как?

Например, var_dump

Вы же, судя по постам, работаете с php :)

В /ips_kernel/vkontakte/OAuth2Client.php до

parent::__construct($message, $code);

добавить

var_dump($result); exit;

Войти с помощью ВК для получения информации.

Поделиться сообщением


Ссылка на сообщение
03/04/18 19:48 (изменено)

array(1) { ["error"]=> array(3) { ["error_code"]=> int(8) ["error_msg"]=> string(40) "Invalid request: v (version) is required" ["request_params"]=> array(4) { [0]=> array(2) { ["key"]=> string(5) "oauth" ["value"]=> string(1) "1" } [1]=> array(2) { ["key"]=> string(6) "method" ["value"]=> string(11) "getProfiles" } [2]=> array(2) { ["key"]=> string(4) "uids" ["value"]=> string(8) "***" } [3]=> array(2) { ["key"]=> string(6) "fields" ["value"]=> string(93) "uid,first_name,last_name,nickname,photo,photo_medium,photo_big,timezone,sex,nickname,activity" } } } }

Ругается на какую то версию

 

Работаю с php на уровне самоучки, вардамп тыкал, но чуть не в то место и без exit, по этому и выхлопа не получилось)

Изменено пользователем HooLIGUN

Поделиться сообщением


Ссылка на сообщение

$message = $result['error'];

заменить на

$message = $result['error']['error_msg'];

Ругается на какую то версию

https://vk.com/dev/api_requests

V (обязательно) — используемая версия API.

Поделиться сообщением


Ссылка на сообщение

$message = $result['error'];

заменить на

$message = $result['error']['error_msg'];

 

Ничего не изменилось

Поделиться сообщением


Ссылка на сообщение
Ничего не изменилось
Что именно не изменилось? Ошибка старая осталась?

Поделиться сообщением


Ссылка на сообщение

Да, точно такая же ошибка

Поделиться сообщением


Ссылка на сообщение

Да, точно такая же ошибка

Посмотрите снова, что в переменных $message и $code

 

Я на тестовом борде проверил. Ошибки нет.

Чтобы добавить необходимый параметр, выше

$result = json_decode($this->makeOAuth2Request(

добавить

$params['v'] = '5.73';

 

А хендлер работает корректно? Я во время тестов не нашел ключа uid (который записывается в таблицу members в колонку vk_uid) в ответе и в документации нет ничего подобного.

Есть id.

Если авторизовываться, то создаются дубли

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
На 3.4.6 подойдёт это мод?

Нет, только для 3.4.9.

 

@newbie, действительно, перестала работать авторизация( Как исправить, не подскажете? Без нее совсем никак :(

Поделиться сообщением


Ссылка на сообщение

newbie, действительно, перестала работать авторизация( Как исправить, не подскажете? Без нее совсем никак

 

Я же написал,что возвращается id, а не uid. Нужно найти, где используется ключ и заменить.

Как вариант, добавить этот ключ. В методе api до

    return $result;

добавить

	if (isset($result['response']) and is_array($result['response']))
{
	foreach ($result['response'] as &$res)
	{
		$res['uid'] = $res['id'];
	}
}

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

Посмотрите снова, что в переменных $message и $code

 

Я на тестовом борде проверил. Ошибки нет.

Чтобы добавить необходимый параметр, выше

$result = json_decode($this->makeOAuth2Request(

добавить

$params['v'] = '5.73';

 

А хендлер работает корректно? Я во время тестов не нашел ключа uid (который записывается в таблицу members в колонку vk_uid) в ответе и в документации нет ничего подобного.

Есть id.

Если авторизовываться, то создаются дубли

Теперь форум выдает системную ошибку

Извините, вы не имеете доступа к этому!

[#1090194]

Возникла ошибка при попытке проверки соединения с VKontakte

Поделиться сообщением


Ссылка на сообщение

Теперь форум выдает системную ошибку

Дальше цитируемого поста читали тему про uid и id?

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Каюсь, нет :D

Делал по порядку.

Вроде помогло.Спасибо

Так что они изменили то?

Версию требуется указать или что (про id \ uid не понял разницы)

Поделиться сообщением


Ссылка на сообщение

Так что они изменили то?

1. Теперь при работе с api нужно указывать версию. Пост №24

2. В коде в нескольких местах фигурирует uid

Например,

$_member = IPSMember::load( $_userData['uid'], 'all', 'vk_uid' );

Но в массиве $_userData нет ключа uid. Есть только id. Поэтому, если в бд есть пользователь с vk_uid равным 12345, и мы попытаемся загрузить о нем информацию, получив от ВК данные, где есть id 12345, то получим, что юзера нет.

Версию требуется указать или что (про id \ uid не понял разницы)

Версию указать и изменить uid на id или добавить uid со значением равным значению id.
  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...