[英]$facebook->api('/me') not giving the user data
require_once($_SERVER['DOCUMENT_ROOT'] . '/facebook-php-sdk/facebook.php');
$facebook = new Facebook(array(
'appId' => FB_MAIN_APP_API_ID,
'secret' => FB_MAIN_APP_SECRET
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
}catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
上面是我用來獲取應用程序Facebook詳細信息的代碼。 在我的本地主機中,它工作正常,並提供了我的Facebook電子郵件和用戶ID。 將其上傳到實時服務器后,此功能將無法使用,並且無法提供我的Facebook詳細信息。 我檢查了Facebook應用ID,它是正確的ID。
我無法弄清楚為什么它不能在實時站點中工作,因為它在我的本地主機中正在工作。 請幫我解決一下這個。 謝謝。
我認為問題出在服務器上使用的應用程序中。 因此,請嘗試使用與您的本地主機相同的應用程序,並在登錄和注銷URL(而不是本地主機)中使用$_SERVER['HTTP_HOST']
。
范例:
$session->fb_logout = $facebook->getLogoutUrl(array('next' => "http://" . $_SERVER['HTTP_HOST'] . "/path/to/logout"));
首先檢查一下$user_profile = $facebook->api('/me');
顯示。 只需print_r
變量$user_profile
。
例如:
$user_profile = $facebook->api('/me');
print_r($user_profile);
exit;
如果它顯示為空白,那么肯定會進入catch塊。 然后在catch塊中寫入以下內容。
print_r($e);
exit;
您是否在Facebook中的應用程序配置中檢查了正確的URL?
我的FB應用程序具有這段代碼,並且可以正常工作,您可以嘗試一下嗎?
$session = $this->facebook->getUser();
if ($session) {
$logoutUrl = $this->facebook->getLogoutUrl();
try {
$data['uid'] = $this->facebook->getUser();
$me = $this->facebook->api($session);
$data['me'] = $me;
} catch (FacebookApiException $e) {
error_log($e);
}
} else {
$loginUrl = $this->facebook->getLoginUrl(
array(
'scope' => 'publish_stream, user_about_me, email',
'redirect_uri' => 'YOUR URL',
'canvas' => 1,
'fbconnect' => 0,
'display' => 'page',
));
}
if (!$session) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
$this->load->view('MY VIEW', $data);
為了獲得用戶ID,用戶需要授予權限
$user_id = $facebook->getUser();
echo $uid;
if($user_id){
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user_id = null;
}
}else{
$login_url = $facebook->getLoginUrl();
echo("<br>login url=".$login_url);
};
在用戶授予許可權后,檢查login_url,您可以訪問用戶ID。
嘗試這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.