handler писал(а):Вам еще не надоело?
Я просто не понимаю, почему бы не взять исходник из темы с примером и не разобраться в нем. Может быть там что-то недоступно описано?
Вы пытаетесь авторизовать сервер, а не пользователя. У сервера свои cookies и свой IP. Через PHP вы не получите необходимого доступа для авторизации пользователя на сервере.
Standalone - это мобильные приложения и программы на компьютере, у которых есть доступ к встроенному в них объекту веб-браузера.
1. Авторизовываем ПОЛЬЗОВАТЕЛЯ, а не СЕРВЕР!!!
Код: Выделить всё
$link = 'http://api.vk.com/oauth/authorize?client_id='.CLIENT_ID.'&redirect_uri='.PATH.OAUTH_CALLBACK.'&display=popup&scope='.SCOPE.'&response_type=code';
Curl и file_get_contents - не подойдут - это работает на стороне сервера. Надо перейти на эту страницу в окне браузера пользователя.
Пользователь увидит форму авторизации (если не залогинен на vk.com) и сообщение с разрешением доступа к своим данным. После этого окна происходит перенаправление ПОЛЬЗОВАТЕЛЯ (не СЕРВЕРА) на другую страницу с передачей значения code.
2. Получаем access_token на странице на которую перенаправили.
Для получения access_token нужно использовать полученный code.
Код: Выделить всё
$resp = file_get_contents('https://api.vk.com/oauth/access_token?client_id='.CLIENT_ID.'&code='.$_REQUEST['code'].'&client_secret='.SECRET);
3. Выполняем запрос к ВКонтакте API
Для выполнения запросов надо использовать полученный access_token.
Код: Выделить всё
$resp = file_get_contents('https://api.vkontakte.ru/method/getProfiles?uids='.$uid.'&fields=photo_big&access_token='.$_SESSION['access_token']);
Вот и все, ответ сервера можно обрабатывать.