Проблемы с VK API

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Проблемы с VK API

Сообщение Alazaur »

А вы попробуйте напрямую

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

echo file_get_contents("http://api.vk.com/api.php?api_id=3055075&format=json&method=users.get&random=4604×tamp=1362343734&uids=1%2C6492&v=3.0&sig=b1f0f6b97f266d2d0ccd689f443dfd8b");
Если не выведет на экран ответ вконтакта, значит проблема в хостинге. Либо менять либо беседовать с техподдержкой.
iCast
Сообщения: 9
Зарегистрирован: 03 мар 2013, 21:23

Re: Проблемы с VK API

Сообщение iCast »

вот кусок кода из класса

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

$sig .= $this->api_secret;        $params['sig'] = md5($sig);        $query = $this->api_url.'?'.$this->params($params);                echo file_get_contents($query);//добавил эту строку        $res = file_get_contents($query);
открываю индексную страницу и ответ таков:

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

{"error":{"error_code":8,"error_msg":"Invalid request: this auth method is obsolete, please use oauth. vk.com\/developers","request_params":[{"key":"api_id","value":"3055075"},{"key":"format","value":"json"},{"key":"method","value":"users.get"},{"key":"random","value":"5423"},{"key":"timestamp","value":"1362405133"},{"key":"uids","value":"1,2"},{"key":"v","value":"3.0"},{"key":"sig","value":"fd28dc70ab32d5eaafcaecde0e8af9d8"}]}}{"response":[{"uid":1,"first_name":"Павел","last_name":"Дуров"},{"uid":2,"first_name":"Александра","last_name":"Владимирова"}]}
В конце концов выводит информацию о пользователях, но почему sig не правильно считается, код скачан с vk. вот он весь класс:

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

<?php /** * VKAPI class for vk.com social network * * @package server API methods * @link http://vk.com/developers.php * @autor Oleg Illarionov * @version 1.0 */ class vkapi {    var $api_secret;    var $app_id;    var $api_url;        function vkapi($app_id, $api_secret, $api_url = 'api.vk.com/api.php') {        $this->app_id = $app_id;        $this->api_secret = $api_secret;        if (!strstr($api_url, 'http://')) $api_url = 'http://'.$api_url;        $this->api_url = $api_url;    }        function api($method,$params=false) {        if (!$params) $params = array();         $params['api_id'] = $this->app_id;        $params['v'] = '3.0';        $params['method'] = $method;        $params['timestamp'] = time();        $params['format'] = 'json';        $params['random'] = rand(0,10000);        ksort($params);        $sig = '';        foreach($params as $k=>$v) {            $sig .= $k.'='.$v;        }        $sig .= $this->api_secret;        $params['sig'] = md5($sig);        $query = $this->api_url.'?'.$this->params($params);        $res = file_get_contents($query);        return json_decode($res, true);    }        function params($params) {        $pice = array();        foreach($params as $k=>$v) {            $pice[] = $k.'='.urlencode($v);        }        return implode('&',$pice);    }}?> 
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Проблемы с VK API

Сообщение Александр »

iCast
Standalone-приложения должны использовать OAuth.
Для использования vkapi.class.php тип приложения должен быть IFrame/Flash. Тип приложения выбирается при его создании.
Ответить