Я пытаюсь получить имя пользователя из кода через график 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\">
Помимо того, что этот фрагмент кода не работает, функция публикации фотографий просто перестала работать. любезно помогите мне с этим.
Спасибо.
Возможность напрямую получать фотографию пользователя (/ [идентификатор пользователя] / изображение) не требует токена, поэтому это не является допустимым тестом.
Если вы сохранили свои токены oauth, вам может потребоваться перезапустить сеанс пользователя с новым списком адресов приложений. Чтобы подтвердить, вы должны скопировать маркер, который вы используете, на интерфейс отладки FB:
https://developers.facebook.com/tools/debug
Надеюсь, это поможет.
После консультации с поддержкой phpfog я узнал, что их общий план хостинга не поддерживает функцию file_get_contents
.
Любой из их выделенных планов сможет запускать команды, которые ограничены на их общей службе.