Невозможно получить имя пользователя через график 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

Надеюсь, это поможет.

Другие вопросы по тегам