Я изо всех сил пытался выяснить, что с этим происходит. Мои скрипты какое-то время работали нормально, а потом внезапно наполовину остановились.
Я получаю доступ к API и получаю обратно токен доступа. С токеном доступа я могу легко получить доступ к публичной информации пользователей. Однако, когда я пытаюсь опубликовать информацию в их аккаунте FB, я получаю эту ошибку.
Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user.
Есть идеи, что здесь происходит? Я также использую сеансы на своем сайте, чтобы отслеживать внутренние идентификаторы пользователей. Не уверен, что мои сеансы могут быть причиной проблемы.
Это мой сценарий загрузки, при котором я получаю сообщение об ошибке.
require 'facebook/src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => '12345678',
'secret' => 'REMOVED',
'fileUpload' => true,
'cookie' => true,
));
$facebook->setFileUploadSupport(true);
$me = null;
// Session based API call.
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
// login or logout url will be needed depending on current user state.
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
$photo_details = array('message' => 'my place');
$file='photos/my.jpg'; //Example image file
$photo_details['image'] = '@' . realpath($file);
$upload_photo = $facebook->api('/me/photos', 'post', $photo_details);