Невозможно получить имя пользователя через график API после перехода на другой сервер
Я пытаюсь получить имя пользователя из кода с помощью Graph API, приведенный ниже код работал нормально, когда я размещал приложение на другом (godaddy) сервере, но недавно я переместил приложение на phpfog и с тех пор столкнулся с этой странной проблемой.
try {
$userId = $_POST["user_id"];
$oauth_token = $_POST["oauth_token"];
$userName = json_decode(file_get_contents('https://graph.facebook.com/' . $userId)) -> name;
$userGender = json_decode(file_get_contents('http://graph.facebook.com/' . $userId)) -> gender;
$userPpicture = json_decode(file_get_contents('http://graph.facebook.com/' . $userId)) -> picture;
} catch(Exception $e) {
echo $e -> getMessage();
echo "<br>";
}
просто добавьте, поскольку это может помочь, что в следующей строке я смогу успешно получить изображение профиля пользователя через это:
<img class=\"ppicture\" src=\"https://graph.facebook.com/" . $userId . "/picture?type=large\">
Помимо этого фрагмента кода, функция публикации фотографий также перестала работать. пожалуйста, помогите мне с этим.
благодарю вас.
2 ответа
После консультации поддержки phpfog я узнал, что их план общего хостинга не поддерживает функцию file_get_contents
,
Любой из их выделенных планов сможет запускать команды, которые ограничены в их общем сервисе.
Возможность прямого извлечения фотографии пользователя (/[идентификатор пользователя]/ картинка) не требует токена, так что это недопустимый тест.
Если вы сохранили свои токены oauth, вам может понадобиться повторно запустить сеанс пользователя с новым списком адресов приложений. Для подтверждения вы должны скопировать токен, который вы используете, в интерфейс отладки FB здесь:
https://developers.facebook.com/tools/debug
Надеюсь, это поможет.