2014-02-06 67 views
0

我用下面的PHP腳本:的Facebook SDK返回URL

<?php 

//facebook application configuration 

$fbconfig['appid' ] = "****"; 

$fbconfig['secret'] = "****"; 

try{ 

    include_once ('facebook/src/facebook.php'); 

} 

catch(Exception $o){ 

    print_r($o); 

} 

$facebook = new Facebook(array(

    'appId' => $fbconfig['appid'], 

    'secret' => $fbconfig['secret'], 

    'cookie' => true, 

)); 



$user  = $facebook->getUser(); 

$loginUrl = $facebook->getLoginUrl(

     array(

      'scope'   => 'publish_stream' 

     ) 

); 

if ($user) { 

    try { 

    $user_profile = $facebook->api('/me'); 

    $user_friends = $facebook->api('/me/friends'); 

    $access_token = $facebook->getAccessToken(); 

    } catch (FacebookApiException $e) { 

    // d($e); 

    $user = null; 

    } 

} 

if (!$user) { 

    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; 

    exit; 
} 



$args = array(

'message' => 'Blabla', 

'link'  => 'http://www.Blabla.nl/', 

'caption' => 'Blabla' 

); 
$post_id = $facebook->api("/me/feed", "post", $args); 

header('Location: '.$domein.'/direct-inloggen/melding/accountAangemaakt/'); 
?> 

這是Facebook的SDK腳本。 它工作正常,但我有關於它的兩個問題:

  • 當腳本運行時,人們接受Facebook的問題,腳本會在牆壁上的消息。 但是,然後他們回到他們來自的頁面。我不想使用另一個返回網址,我該如何設置?

  • 當人們拒絕facebook接受者問題時,他們在腳本運行時會得到一個空白頁面,直到他們清除所有會話和cookie。我能做些什麼呢?

+0

使用'else'語句。 - *「當人們拒絕facebook的接受者問題時,他們會在腳本運行時得到一個空白頁面」* –

+0

您好弗雷德,但我怎麼知道他們是否拒絕了接受者? –

+0

我無法確定如何設置,我自己並沒有太多的FB應用程序。但是,因爲它主要是基於DB的東西,而我認爲它是標準的SQL,所以一旦你獲得了用戶的ID,那麼你可以爲此設置一個表,並從那裏登錄;理論上。 –

回答

0

找到了如何設置重定向url。 我必須更改base_facebook.php中的函數getLoginUrl,這是SDK腳本中默認的基礎。

現在我只想知道如何檢查是否有人已經拒絕以及如何重置。

相關問題