[英]Issues with facebook authentication getuser() returning 0
我對Facebook網站身份驗證有問題-特別是getuser()返回0 ...
以下代碼使用Facebook API,向Facebook注冊用戶。 我知道使用FB進行身份驗證是有效的,因為當我以用戶身份登錄FB時,它表明該用戶已授予網站應用訪問FB帳戶的權限。
用戶在FB注冊網站后,下面的代碼就是我用來訪問FB帳戶的代碼。
session_start();
$config = array(
'appId' => 'xxxx...',
'secret' => 'xxxx...',//);
'cookie' => true,);
$fb = new Facebook($config);
$user = $fb->getUser();
本質上發生的是,一旦用戶在Facebook上注冊了該應用程序,該$ fb對象就不會返回值。
從其他用戶的類似問題來看,許多其他人也有類似的問題。 過去幾天,我一直在研究其他用戶提供的推薦解決方案,但是沒有運氣...
任何想法我在做什么錯?
伊恩
我猜您的注冊用戶尚未注冊。
嘗試使用try/catch
塊,看看發生了什么:
$fb = new Facebook($config);
$user = $fb->getUser();
try {
$user_profile = $fb->api('/me');
} catch (FacebookApiException $e) {
var_dump($e);
}
我不確定您頁面的構建方式。 您是否在頁面上提供了登錄按鈕? 如果不是這樣,我認為您將您的情況與脫機訪問帳戶混淆了,這是完全不同的情況。
如果您為用戶提供了登錄頁面的選項,那么如何構建登錄按鈕(或其他元素)?
您需要使用facebook對象生成登錄URL。 例如,對於一個簡單的按鈕,應按以下方式生成登錄網址(假設此情況發生在<?php?>塊內的PHP文件中):
session_start();
$config = array(
'appId' => 'xxxx...',
'secret' => 'xxxx...',//);
'cookie' => true /* not sure if the cookie parameter is necessary */ );
$fb = new Facebook($config);
echo '<a href="' . $fb->getLoginUrl() . '"><button>Login</button></a>';
這將為facebook身份驗證服務器的身份驗證和重定向生成必要的參數,因此您不必擔心它的處理方式。
不知道這是否是您的問題,但是否願意為您服務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.