Вопрос немного не стандартный и этим на мой взгляд не прост. И. возможно, не совсем касается ПХП, Параллельно подключал на двух сайта авторизацию через соц. сеть вконтакте. Код кнопки <a href="http://api.vkontakte.ru/oauth/authorize?client_id=ХХХХХХ&scope=&redirect_uri=http://site.ru/page.php&response_type=code"><img src=""></a> Получение информации $url = "https://api.vkontakte.ru/oauth/access_token?client_id=".$vk_app_id."&client_secret=".$vk_app_shared_secret."&code=".$_REQUEST["code"]; $response = json_decode(@file_get_contents($url)); Так вот, для первого сайта приложение в ВК было создано уже года назад здесь: http://vk.com/editapp?act=create Для второго сайта приложение создал вчера. Первый сайт все хорошо авторизирует, а на втором переменная $response остается пустой, но если я на втором сайте прописываю в $vk_app_id и $vk_app_shared_secret, а также в коде кнопки client_id данные из первого приложения, и меняю адрес сайта в самом приложении на второй сайт, то все работает. Пробовал создавать приложение и как веб-сайт и как Desktop приложение не помогает. В чем же может быть проблема?
Возможно, раньше контакт был не против http и давно зарегистрированные приложения по-прежнему работают с сайтами по протоколу http, а новые - только https? Это так, просто предположение...
Эм... Я сделал так: Выдрал форму и генератор, все и входи на здоровье =) Через js шли, пост и все туда запихивай и все, и выводи себе на страницу =)
Вконтакте вроде бы нужно регистрировать приложение, именно на определенный сайт. Если это сделано, и ID и ключ введен верный, то все должно работать. В любом случае должен возвращать что то. Если ничего не возврашает, то возможно просто до этого места не доходит
to Your - это один из вариантов, я же использую Oauth. to jenya777777 - так и сделал, зарегистрировал на этот сайт 2 приложения, для одного вначале выбрал пункт web-сайт, для второго stand-alone приложение. Не работают оба варианта. До места получения $responce дело доходит, я вижу url, который шлю в вконтакт. И в вопросе написал, если в более старом приложении созданном для другого сайта поменять линки на второй сайт, и взять там ID и ключ, то все замечательно авторизируется. Т.е. код рабочий, все функции отрабатывают.
В вашем случае, так вообще просто пробить вход, обратясь с запросом и парсить. Чем нагораживать там приложения с разными адресами. Вывести в div полученный результат.) Используйте новый домен и все, в чем проблема? Или напишите в месте отправки запроса, переименовать старый в новый, функцией замены.
Нашел ответ на эту задачу для новых приложений надо добавлять еще одну переменную $url = "https://api.vkontakte.ru/oauth/access_token?client_id=".$vk_app_id."&client_secret=".$vk_app_shared_secret."&code=".$_REQUEST["code"]."&redirect_uri=".$redirect_uri; Странно, конечно, когда тут играем, а тут нет. Т.е. для старых приложений не надо, а для новых надо.
Ну я о том и писал - что-то изменилось вконтакте. Только я подумал, что это связано с протоколом, но суть в том что да - они добавили какое-то новое правило для сайтов-приложений, но чтобы не заставлять всех переделывать то, что уже сделано - это новое правило распрастранилось только на новые приложения. А старые работают по старой схеме.