2010-11-05 47 views
0

我正在爲Facebook,這就需要publish_stream權限基於帆布的應用程序。Facebook的畫布應用程序 - 我怎樣才能堅持擴大權限?

目前,我正在檢查在Javascript擴展權限,並在必要時請求額外的權限。但是,如果用戶拒絕了請求,我仍然處於一種有趣的情況,即用戶可以看到該應用,但無法做任何事情。

我注意到,很多的遊戲(不是彈出窗口),其中有「允許」已攔截網頁上的對話和「請假」按鈕。我想做類似的事情,以防止沒有擴展權限的用戶進入應用程序。

任何想法如何做到這一點?我使用PHP生成畫布頁面。

由於提前, 羅斯

回答

1

您需要將用戶重定向到:通過

http://www.facebook.com/connect/uiserver.php 
?app_id=APPID 
&next=RETURNURL 
&cancel_url=CANCELURL 
&perms=publish_stream 
&fbconnect=0 
&canvas=1 

使用JavaScript重定向:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true}); 
    FB.Event.subscribe('auth.sessionChange', function(response) { 
    if (response.session) { 
     // A user has logged in, and a new cookie has been saved 
    } else { 
     top.location = "THE ABOVE URL" 
    } 
    }); 
</script>