2011-12-20 2 views
7

Tôi dường như không thể khắc phục sự cố này! Ngay cả sau khi hướng người dùng đến getLoginUrl(), tôi dường như không thể cho phép người dùng được ủy quyền.Facebook PHP SDK 3.0 - 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 đã thử nghiệm điều này trong hai cửa sổ: Duyệt web ẩn danh (riêng tư) của Chrome và duyệt web thông thường.

Các công trình ẩn danh, nhưng duyệt web bình thường không thành công với "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", ngay cả sau khi đăng xuất trước.

Dưới đây là các mã:

<?php 
require_once("facebook/facebook.php"); 

require_once("includes/config.php"); 

$config = array(); 
    $config['appId'] = 'sdfasdf'; 
    $config['secret'] = 'asdfasdf'; 
    $config['cookies'] = true; // optional 

$facebook = new Facebook($config); 

$uid = $facebook->getUser(); 

if($uid) 
{ 
    try 
    { 
     $user_profile = $facebook->api("/me"); 
     echo "Welcome, " . $user_profile['name'] . "!"; 
    } 
    catch(FacebookApiException $fae) 
    { 
     echo $fae->getMessage(); 
     echo "<a href=\"". $facebook->getLoginUrl()."\">Login.</a>"; 
     $uid = null; 
    } 
} 
else 
{ 
    echo "<a href=\"". $facebook->getLoginUrl()."\">Login.</a>"; 
} 
?> 
+0

thể trùng lặp của [facebook của router OAuthException: Một thẻ 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] (http://stackoverflow.com/questions/6034813/facebook-uncaught-oauthexception- a-active-access-token-must-be-used-to-query-i) –

+0

Tôi hy vọng rằng config.php không phải là một phần của Facebook PHP SDK. Bạn có thể đã bao gồm nó cho mục đích khác như kết nối cơ sở dữ liệu. –

Trả lời

0

Nếu bạn vẫn đang phát triển ứng dụng và các ứng dụng không được sản xuất, sau đó xóa các ứng dụng và tạo ra một cái mới là cách nhanh nhất để khắc phục vấn đề này.

Tôi đang vật lộn với cùng một vấn đề. Vì tôi vẫn đang phát triển ứng dụng, tôi đã xóa ứng dụng khỏi facebook và tạo một ứng dụng mới. Bây giờ, tôi đang sử dụng appId và bí mật của ứng dụng mới và mọi thứ hoạt động như một sự quyến rũ.

+1

Tôi đã thử với điều này nhưng vấn đề vẫn tồn tại – Sky

1

tôi biết rằng đề xuất một thư viện khác có thể không phải là những gì bạn muốn nghe, nhưng tôi đã sử dụng lib auth trên tấn dự án với bất kỳ vấn đề nào.

http://hybridauth.sourceforge.net/