Короче вот такое дело, как всегда в доке одноклассников ничего толкового нет, ответить на могут.
Формирую запрос, отправляю через file_get_contents
В ответ ничего не получаю, хотя если перейти по ссылке которую через file_get_contents передаю, там вот такое:
[php:1:896271a485]
[{"uid":"2395475566119017271","birthday":null,"first_name":"fName","last_name":"Lname","gender":"male","pic_1":"http://195.218.169.227:8088/img/photo1.gif"}]
[/php:1:896271a485]
Потом делал так:
[php:1:896271a485]
$page = file_get_contents($req);
$obj = json_decode($page,true);
$first_name = $obj[0]['first_name']; // Имя
$last_name = $obj[0]['last_name']; // Фамилия
$sex = $obj[0]['gender']; // Пол
[/php:1:896271a485]
Но по какой то причине через file_get_contents ничего нет, не пойму в чем проблема, уже не 1 день пытаюсь понять в чем дело.
Может тут кто знает что может быть не так?
u99, может быть, мне портал дал данный код, сказали рабочий, но почему то не работает.
Мне главное данные получить которые я написал выше, а каким способом не важно.
Просто так же с другого портала получаю JSON через file_get_contents и там все нормально работает
*Голосом из Warcraft* "Нужно больше данных"
1. какой запрос? Какие заголовки отправляешь?
2. где запускается скрипт, окружение.
Ну вот в чем дело, запуск идет с песочницы одноклассников. Я добавляю сайт в песочницу, ввожу ссылку на обработчик и через песочницу запускаю, вот такой код по словам одного из разработчиков работает.
[php:1:809861e181]
define('OK_APP_KEY', ''); // Ваш ключ приложения
define('OK_SECRET_KEY', ''); // Секретный ключ
$api_server = $_GET['api_server'];
$application_key = $_GET['application_key'];
$viewer_id = $_GET['logged_user_id']; // ID пользователя в Одноклассниках
$session_secret_key = $_GET['session_secret_key'];
$session_key = $_GET['session_key'];
$params = array(
"application_key=".$application_key."",
'format=JSON',
'fields=first_name,last_name,pic_1,url_profile,gender',
"uids=".$viewer_id."",
);
sort($params);
$sig = md5(join('', $params) . OK_SECRET_KEY);
$req = "".$api_server."api/users/getInfo?sig=".$sig."&" . join('&', $params);
$page = file_get_contents($req);
$obj = json_decode($page,true);
$first_name = $obj[0]['first_name']; // Имя
$last_name = $obj[0]['last_name']; // Фамилия
$sex = $obj[0]['gender']; // Пол игрока
// Проверяем на наличие пользователя в базе , регистрируем / авторизируем
echo $first_name.'<br />';
echo $last_name.'<br />';
echo $sex.'<br />';
[/php:1:809861e181]
Ну вот я пытался выводить как видите внизу 3 строки, там ничего нет, пытался выводить $page и $obj, там тоже пусто
Но просто прикол в том что если строку $req вывести в браузер и запустить в отдельном окне - выводит данные на странице, а вот через file_get_contents их не выводит почему то
Анархист, пробовал, может я не так писал, я его и не использовал никогда, но как не пробовал - итог тот же
21 Мар 2013, 18:12Jadson, посмотри в сторону кодировки. Не вникал в принцип работы твоего скрипта но мне приходилось парсить данные с google api и они не отображались из-за кодировки
21 Мар 2013, 20:35