Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Strategius

(STR34) IPB 3.4.9 VK Login

Recommended Posts

Как?

Например, var_dump

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

В /ips_kernel/vkontakte/OAuth2Client.php до

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

добавить

var_dump($result); exit;

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

Share this post


Link to post
Share on other sites

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, по этому и выхлопа не получилось)

Edited by HooLIGUN

Share this post


Link to post
Share on other sites

$message = $result['error'];

заменить на

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

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

https://vk.com/dev/api_requests

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

Share this post


Link to post
Share on other sites

$message = $result['error'];

заменить на

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

 

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

Share this post


Link to post
Share on other sites
Ничего не изменилось
Что именно не изменилось? Ошибка старая осталась?

Share this post


Link to post
Share on other sites

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

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

 

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

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

$result = json_decode($this->makeOAuth2Request(

добавить

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

 

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

Есть id.

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

  • Upvote 1

Share this post


Link to post
Share on other sites
На 3.4.6 подойдёт это мод?

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

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

$result = json_decode($this->makeOAuth2Request(

добавить

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

 

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

Есть id.

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

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

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

[#1090194]

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

Share this post


Link to post
Share on other sites

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

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

  • Upvote 1

Share this post


Link to post
Share on other sites

Каюсь, нет :D

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...