dimastik1986
@dimastik1986
учусь

VK api SDK проблема с адресами подключаемых функций, как решить?

Подключил VK api SDK, с первого взгляда удобно, но я столкнулся с проблемой!
По идеи, мне нужно всего лишь было подключить autoload.php и наслаждаться готовым решение.
На выходе получилось что функции не подгружаются автоматически и для того, чтобы пользоваться SDK в каждом файле, к каждой функции и/или классу нужно третью ногу лепить.

Так должно быть:
$vk = new VKApiClient(VER);
            $oauth          =  new VKOAuth(); 
            $client_id      =  API_CLIENT_ID; 
            $redirect_uri =  REDIR; 
            $display        =  VKOAuthDisplay::PAGE; 
            $scope          =  array(VKOAuthUserScope::WALL, 
                                     VKOAuthUserScope::GROUPS, 
                                     VKOAuthUserScope::EMAIL, 
                                     VKOAuthUserScope::STATS, 
                                     VKOAuthUserScope::OFFLINE
                                  );
            $browser_url = $oauth->getAuthorizeUrl(VKOAuthResponseType::CODE, $client_id, $redirect_uri, $display, $scope, $state);


Но для того, чтобы это заработало, приходится делать так
$vk = new \VK\Client\VKApiClient(VER);
            $oauth         =  new \VK\OAuth\VKOAuth(); 
            $client_id     =  API_CLIENT_ID; 
            $redirect_uri  =  REDIR; 
            $display       =  \VK\OAuth\VKOAuthDisplay::PAGE; 
            $scope         =  array(\VK\OAuth\Scopes\VKOAuthUserScope::WALL, 
                                    \VK\OAuth\Scopes\VKOAuthUserScope::GROUPS, 
                                    \VK\OAuth\Scopes\VKOAuthUserScope::EMAIL, 
                                    \VK\OAuth\Scopes\VKOAuthUserScope::STATS, 
                                    \VK\OAuth\Scopes\VKOAuthUserScope::OFFLINE
                                );
            $browser_url = $oauth->getAuthorizeUrl(\VK\OAuth\VKOAuthResponseType::CODE, $client_id, $redirect_uri, $display, $scope, $state);


Или так
use \VK\OAuth\VKOAuth;
use \VK\OAuth\ResponseType;
use \VK\Exceptions\VKClientException;
use \VK\Exceptions\VKOAuthException;
use \VK\OAuth\Scope\VKOAuthUserScope;
...
...

$vk = new VKApiClient(VER);
            $oauth          =  new VKOAuth(); 
            $client_id      =  API_CLIENT_ID; 
            $redirect_uri =  REDIR; 
            $display        =  VKOAuthDisplay::PAGE; 
            $scope          =  array(VKOAuthUserScope::WALL, 
                                     VKOAuthUserScope::GROUPS, 
                                     VKOAuthUserScope::EMAIL, 
                                     VKOAuthUserScope::STATS, 
                                     VKOAuthUserScope::OFFLINE
                                  );
            $browser_url = $oauth->getAuthorizeUrl(VKOAuthResponseType::CODE, $client_id, $redirect_uri, $display, $scope, $state);


И все бы ничего, но там их достаточно много и если один не подключишь, сразу получаешь ошибку 500... При этом, я еще не знаю как правильно прописать путь функциям в таком случае (для Users() и get(), схема выше тут не играет...):
$UserInfo  = $vk->Users()->get($UserToken['access_token'], array(
    'user_ids'  =>  $UserToken['user_id'], 
    'access_token' =>  $UserToken['access_token'], 
    ));

Очень прошу уделить немного своего драгоценного времени и поделиться мудростью.
Возможно решение на поверхности, я просто в силу своих малых познаний его не вижу...

зы: так же среди файлов SDK я наткнулся на такой класс как например GenerateActions, пытаясь выяснить что это и с чем едят, пошел курить мануал, но там об этом ничего, вообще ничего. И в целом все что я находил в сети по вопросу работы с SDK, либо самое простое в виде авторизации, либо сразу сложное. Такое ощущение, как раньше книгу читаешь - сегодня мы начнем учиться программировать - echo "Hello world"; выведет сообщение... А теперь давайте пример сложнее и сразу столько информации выливают на тебя...

Спасибо!
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
dimastik1986
@dimastik1986 Автор вопроса
учусь
VK сами не знают ничего ))
5c18334a536f0585772894.jpeg
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
proudmore
@proudmore
Если речь идет о параметре scope, который нужно собирать руками, то так и задумано, поскольку это набор прав доступа, который будет доступен для вашей Oauth сессии.

В том же, что касается большого количества подключений, самое время написать класс, который будет делать это сам каждый раз, когда это понадобится.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы