2011-11-06 29 views
0

我有一種情況,用戶可能已經對我的應用程序進行了基本訪問認證,但在某些頁面上,我希望利用新的Open Graph API並能夠將操作發佈到他們的牆上。所以我試圖檢查他們是否給了我的網站這個權限,如果他們沒有給他們一個選項來添加這個權限。這裏是我的代碼:(?可能是因爲我已經在技術上登錄)提示使用Facebook的權限PHP

<?php 
require 'fbphp/facebook.php'; 

// Create our Application instance (replace this with your appId and secret). 
$facebook = new Facebook(array(
    'appId' => '??????', 
    'secret' => '???????', 
)); 

$permissions = $facebook->api("/me/permissions"); 
if(array_key_exists('publish_actions', $permissions['data'][0])) { 
    // Permission is granted! 
    echo "we have permission"; 
} else { 
    // We don't have the permission 
    echo "no perms"; 
    $login_url = $facebook->getLoginUrl(array('scope' => 'publish_actions')); 
     echo 'Please <a href="' . $login_url . '">login.</a>'; 
} 

?> 

,當我點擊它重定向直接回到同一頁面的登錄鏈接,而不提示權限是什麼目前這段代碼是幹什麼的。當然,我還沒有得到許可,所以我回到了原點。

那麼如何提示已經登錄的用戶的權限呢?我正在使用在應用角色中創建的測試用戶,如果它有任何方位

回答

0

我也有這個問題。但就我而言,在我發佈網站之前,我會測試一切,就像你正在做的那樣,試試這個。轉到Facebook上的測試用戶帳戶。然後進入帳戶設置,然後進入應用程序設置(位於左側欄)。從那裏刪除您的網站或應用程序,以便您將刪除其權限。然後嘗試再次訪問您的應用程序,它現在會提示輸入新的權限。

+0

感謝您的回覆,但我後來發現這不是我的問題。這是因爲我正在請求publish_actions權限,直到Timeline/Open圖出來才能使用。如果我嘗試其他權限,我會提示確定 –