Получение информации из вКонтакте

Программирование, которое не связано с API.
Ответить
finist
Сообщения: 4
Зарегистрирован: 08 фев 2011, 17:49

Получение информации из вКонтакте

Сообщение finist »

Добрый вечер. Вы не могли бы подсказать что добавить в этот код, для получения информации из вКонтакте и добавления её в базу данных зарегистрированного пользователя.

Код: Выделить всё

    /**     * Авторизация ВКонтакте     *     */    protected function EventVk() {              /**         * Читаем куку и проверяем подпись         */        $sCookieName='vk_app_'.Config::Get('plugin.openid.vk.id');        if (isset($_COOKIE[$sCookieName])) {            /**             * Парсим параметры из куки             */            $aVars=explode('&',$_COOKIE[$sCookieName]);            $aParams=array(                'expire'=>null,                'mid'=>null,                'secret'=>null,                'sid'=>null,                'sig'=>null,            );            foreach ($aVars as $sVar) {                $aNV=explode('=',$sVar);                if ($aNV and count($aNV)==2) {                    $aParams[$aNV[0]]=$aNV[1];                }            }            /**             * Строим хеш для проверки валидности авторизации             */            $sHash=md5("expire={$aParams['expire']}mid={$aParams['mid']}secret={$aParams['secret']}sid={$aParams['sid']}".Config::Get('plugin.openid.vk.secure_key'));            /**             * Успешная авторизация             */            if ($sHash==$aParams['sig']) {                              $sOpenId='vk_'.$aParams['mid'];                /**                 * Если уже есть связь с этим OpenID то авторизуем                 */                if ($oUser=$this->PluginOpenid_Openid_GetUserByOpenId($sOpenId)) {                    $this->User_Authorization($oUser);                    Router::Location($_SERVER['HTTP_REFERER']);                } else {                                        /**                     * Связи нет                     */                    $aData=array();                    /**                     * Заполняем данные (логин)                     */Как здесь сделать запрос пользователя регистрирующегося на сайте для получения данных?логинполное имяполдата рождениястранагородаватар Config::Get('plugin.openid.vk.secure_key') // защищенный ключConfig::Get('plugin.openid.vk.id')        // id приложения                      /**                    * Заполняем временную таблицу, пишем в куки ключ и перенаправляем на страницу ввода дополнительных данных                    */                    $oTmp=Engine::GetEntity('PluginOpenid_Openid_Tmp');                    $oTmp->setKey(func_generator(32));                    $oTmp->setOpenid($sOpenId);                    $oTmp->setData(serialize($aData));                    $oTmp->setDate(date("Y-m-d H:i:s"));                    $this->PluginOpenid_Openid_AddTmp($oTmp);                                        setcookie('openidkey',$oTmp->getKey(),time()+Config::Get('plugin.openid.time_key_limit'),Config::Get('sys.cookie.path'),Config::Get('sys.cookie.host'));                    Router::Location(Router::GetPath('login').'openid/data/');                              }            } else {                setcookie($sCookieName,'',1,Config::Get('sys.cookie.path'),Config::Get('sys.cookie.host'));                $this->Message_AddErrorSingle($this->Lang_Get('openid_result_error_vk'),$this->Lang_Get('error'));            }        }        $this->SetTemplateAction('openid');    }
Спасибо!
Ответить