簡體   English   中英

Facebook身份驗證getuser()返回0的問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM