Tôi đang cố cập nhật trạng thái người dùng Facebook bằng cách sử dụng đồ thị api. Mã của tôi làMã thông báo truy cập hoạt động phải được sử dụng để truy vấn thông tin về ngoại lệ người dùng hiện tại-đồ thị api
<?php
require 'facebook.php';
$facebook = new Facebook(array(
'appId' =>'389694921095423',
'secret' =>'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'cookie' => true
));
$access_token = $facebook->getAccessToken();
echo($access_token);
$me = null;
try
{
$uid = $facebook->getUser();
$me = $facebook->api('/me');
echo "Welcome User: " . $me['name'] . "<br />";
//access permission
$permissions_needed = array('publish_stream', 'read_stream', 'offline_access', 'manage_pages');
foreach($permissions_needed as $perm)
{
if(!isset($permissions_list['data'][0][$perm]) || $permissions_list['data'][0][$perm] != 1)
{
$login_url_params = array(
'scope' => 'publish_stream,read_stream,offline_access,manage_pages',
'fbconnect' => 1,
'display' => "page",
'next' => 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
);
$login_url = $facebook->getLoginUrl($login_url_params);
header("Location: {$login_url}");
exit();
}
}
//Access permission
$post_id = $facebook->api("/$uid/feed", "post", array("message"=>"Hello World!"));
if(isset($post_id))
{
echo "A new post to your wall has been posted with id: $post_id";
}
}
catch (FacebookApiException $e)
{
echo($e);
}
?>
Vấn đề là nó hiển thị lỗi thời gian chạy như Lỗi nghiêm trọng: Không bắt buộc OAuthException: Mã thông báo truy cập hoạt động phải được sử dụng để truy vấn thông tin về người dùng hiện tại. Tôi đã tạo ra Access Tocken. Trong trường hợp tôi phải sử dụng để loại bỏ ngoại lệ này Cảm ơn trước
_ “Tôi đã tạo ra truy cập TOCKEN.” _ - ở đâu và _when_ đã làm bạn tạo ra nó? Có vẻ như bạn đang sử dụng mã thông báo đã hết hạn. Bạn có thể sử dụng công cụ gỡ lỗi để kiểm tra xem mã thông báo của bạn vẫn hợp lệ hay không: https://developers.facebook.com/tools/debug – CBroe
Đó là vì $ facebook-> getUser() trả về 0 và người dùng không đăng nhập. –