@a_hooligan
учусь

Warning: json_decode() expects parameter 1 to be string, resource given..?

$client_id = '';
$client_secret = '';
$redirect_uri = '';

$url = 'oauth.vk.com/authorize';

$params = array(
'client_id' => $client_id,
'redirect_uri' => $redirect_uri,
'response_type' => 'code'
);

echo $link = 'Аутентификация через ВКонтакте';

if(isset($_GET['code'])) {
$result = false;

$params = array(
'client_id' => $client_id,
'client_secret' => $client_secret,
'code' => $_GET['code'],
'redirect_uri' => $redirect_uri
);

$token = json_decode(curl_init('https://oauth.vk.com/access_token' . '?' . urldecode(http_build_query($params))), true);

if (isset($token['access_token'])) {
$params = array(
'uids' => $token['user_id'],
'fields' => 'uid,first_name,last_name,screen_name,sex,bdate,photo_big',
'access_token' => $token['access_token']
);

$userInfo = json_decode(curl_init('https://api.vk.com/method/users.get' . '?' . urldecode(http_build_query($params))), true);
if(isset($userInfo['response'][0]['uid'])) {
$userInfo = $userInfo['response'][0];
$result = true;
}}

if ($result) {
echo "Социальный ID пользователя: " . $userInfo['uid'] . '
';
echo "Имя пользователя: " . $userInfo['first_name'] . '
';
echo "Ссылка на профиль пользователя: " . $userInfo['screen_name'] . '
';
echo "Пол пользователя: " . $userInfo['sex'] . '
';
echo "День Рождения: " . $userInfo['bdate'] . '
';
echo ''%20.%20$userInfo%5B'photo_big'%5D%20.%2'; echo "
";
}
}

Понять не могу, почему не работает json_decode() ?
  • Вопрос задан
  • 416 просмотров
Решения вопроса 1
DevMan
@DevMan
потому что не должен - curl_init возвращает курловый хендлер, а не джейсон. о чем собственно и говорится в ошибке.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы