Tôi đang cố gắng phát triển một ứng dụng Facebook (apps.facebook.com/some_app) bằng cách sử dụng PHP, nơi tôi cần trình bày một số thông tin dựa trên sở thích âm nhạc của người dùng. Tôi thấy rằng trong các trò chơi "user_likes>" của nó.Cần trợ giúp về mã OAuthException 2500
vấn đề của tôi là như sau:
- Để truy cập, tôi đã thực hiện phương pháp thoại oauth như đề xuất trong API trong trang chỉ mục của tôi.
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri="
. urlencode($canvas_page)
."&scope=user_likes";
- Sau khi ủy quyền thành công tôi quay trở lại trang index với "code" như thông số.
http://MY_CANVAS_PAGE/?code=some base64 encoded letters
- Thứ nhất tôi không biết nếu tôi cần access_token chỉ để đọc nhạc lợi ích của người sử dụng nhưng tôi đã thử tất cả các phương pháp đề nghị. Tôi không thể di chuyển chuyển tiếp từ điểm này
- Tôi có một mã như thế này (trong trang chỉ mục của tôi), chuyển hướng để ủy quyền nếu thông số mã không được đặt.
if(empty($code) && !isset($_REQUEST['error'])) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
echo("<script> top.location.href='" . $auth_url . "'</script>");
}
- Hiện nay tôi đang chỉ cố gắng để có được thông tin công cộng của người dùng ở đây nhưng không thành công. Tôi đã thử phương pháp signed_request như đề xuất nhưng không thành công
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
echo ("Welcome User: " . $data["user_id"]);
Cũng thử đoạn code tìm thấy trong http://developers.facebook.com/blog/post/500/
nhưng tôi nhận được lỗi khi cố gắng để có được gỡ rối thông tin sử dụng
print_r($decoded_response);
stdClass Object ([error] => stdClass Object ([message] => An active
access token must be used to query information about the current user.
[type] => OAuthException [code] => 2500))
Để nhận được thông tin nào của người dùng, tôi đã cố gắng cũng là ví dụ cho thấy trong PHP SDK
$facebook = new Facebook(array(
'appId' => MY_APP_ID, //registered facebook APP ID
'secret' => MY_SECRET, //secret key for APP
));
$fb_user = $facebook->getUser();
if($fb_user){
try {
$user_profile = $facebook->api('/me');
echo $user_profile['email'];
}
catch(FacebookApiException $e) {
$fb_user = null;
}
}
Nhưng không thành công. Ai đó có thể giải thích cho tôi tại sao tôi nhận được lỗi này và cách truy cập đúng sở thích âm nhạc của người dùng. Có lẽ tôi đã hiểu lầm API.
Cảm ơn
Deepak
Bạn đã tìm thấy một giải pháp? Tôi nhận được lỗi này ngay cả trên https://graph.facebook.com/me url. Không nên nó trả lại cho tôi thông tin facebook của tôi? – Kemal