2012-06-21 73 views
0

您好我已經開發了一個使用動作腳本3在Flash中的Facebook應用程序。該應用程序工作正常。我在JavaScript中開發了Facebook登錄和身份驗證。問題是,用戶沒有登錄到Facebook的應用程序工作正常,提供用戶登錄面板和應用程序權限面板和發佈在用戶牆上的慾望的東西,但如果用戶已經登錄比JavaScript不會要求Facebook應用程序的權限,因此該應用程序不會發布在用戶牆上。我的JavaScript代碼是Facebook的應用權限

<script type="text/javascript"> 
    var APP_ID = "xxxxxxxxxxxxxxx"; 
    var REDIRECT_URI = "http://apps.facebook.com/engel-tanimiyorum/"; 
    var PERMS = 'publish_stream , email, user_birthday'; //comma separated list of extended permissions 

    function init() 
    { 
     FB.init({appId:APP_ID, status: true, cookie: true, oauth: true}); 
     FB.getLoginStatus(handleLoginStatus); 
    } 

    function handleLoginStatus(response) 
    { 
     if (response.authResponse && response.status=="connected") 
     { 

      //Show the SWF 
      $('#ConnectDemo').append('<h1>You need at least Flash Player 9.0 to view this page.</h1>'); 
      swfobject.embedSWF("index.swf", 
       "ConnectDemo", "803", "516", "9.0", null, null, null, {name:"ConnectDemo"}); 

     } 
     else 
     { 
      var params = window.location.toString().slice(window.location.toString().indexOf('?')); 
      top.location = 'http://graph.facebook.com/oauth/authorize?client_id=' 
       +APP_ID 
       +'&scope='+PERMS 
       +'&redirect_uri=' + REDIRECT_URI 
       + params; 



     } 


    } 
    $(init); 
</script> 

此致快速反應將是非常可觀的 問候

回答

0

我不知道如果這有助於與否。但不是你的 var PERMS ='publish_stream,email,user_birthday';

我相信它應該是狀態作爲一個數組,然後你會列出你的權限。
它適用於我,所以我認爲它應該是這樣的:

public var PERMS:Array = [「publish_stream」,「email」,「user_birthday」];

另外,沒有公開你的變量也可能是問題。

另外,從我所看到的,您沒有任何按鈕或文本輸入?

如果不是,您需要創建這些。然後有一個點擊處理程序,當文本輸入中有文本時,它將激活一個點擊處理程序,然後它將轉到提交處理程序,然後轉到獲取狀態處理程序,該處理程序會顯示您創建的新狀態。我可能會說這一切都是錯誤的。畢竟,我沒有爲我的應用程序使用Java。但對我來說,這似乎是合乎邏輯的,那就是你會做的。試試我的第一個建議,並回到我身邊。如果你願意,給我發電子郵件[email protected],所以我可以幫助你更多。