2013-02-15 156 views
0

我已經使用了一個非常簡單的代碼爲我的PHP應用程序,實際上什麼都不做,但顯示用戶ID。我沒有考慮任何安全措施,因爲我只是測試這個應用程序。Facebook應用程序註銷

我允許用戶登錄點擊鏈接,並在允許訪問我的應用程序後,用戶被重定向到主頁並顯示他/她的用戶ID。

但是,我所包含的註銷url已經破壞了用戶的facebook會話。

我想要不同的東西。我想在用戶點擊註銷時撤消該用戶對該應用的訪問權限。可能嗎?

<?php 

require './src/facebook.php'; 

$config = array(); 
$config['appId'] = '542738299083506'; 
$config['secret'] = '********************************'; 
$config['fileUpload'] = false; // optional 

$facebook = new Facebook($config); 

$loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'publish_stream,publish_actions' 
)); 


?> 
<a href="<?php echo $loginUrl; ?>" target="_TOP">Login With Facebook</a> 
<?php 

$user = $facebook->getUser(); 

print_r($user); 

$logoutUrl = $facebook->getLogoutUrl(); 

?> 

<a href="<?php echo $logoutUrl; ?>" target="_TOP">Logout</a> 
+0

http://stackoverflow.com/questions/5781015/facebook-deauthorize-my-app – mkaatman 2013-02-15 17:00:29

回答

0

你想是這樣的......

$facebook->api('/me/permissions', 'DELETE'); 

調用此將撤銷應用程序的權限當前用戶。如果您想從其他用戶撤銷,則用配置文件ID替換me

您可以通過向用戶發送一個HTTP DELETE請求給PROFILE_ID /具有用戶access_token>的權限來爲該應用程序取消授權應用程序或撤銷特定的擴展權限。

參數描述類型必需權限您希望撤銷的權限。如果您>未指定權限,那麼這將完全取消對應用程序的授權。字符串>否您會得到以下結果。

說明類型如果刪除成功則返回True,否則返回錯誤。布爾值

+0

'$ facebook-> api('/ me/permissions','DELETE');'我用它和它給了我一些未捕獲的異常。 'try { \t \t $ facebook-> api('/ me/permissions','DELETE'); \t}趕上(例外$ E){ \t \t \t } \t報頭( 「位置:的index.php」);' 所以我用它以這種方式。這是好的使用空的catch塊。 – prakashchhetri 2013-02-15 17:19:47

+0

然後你用它錯了... – jondavidjohn 2013-02-15 17:20:47

+0

那我該如何使用它 – prakashchhetri 2013-02-15 17:21:28

相關問題