2013-08-23 49 views
0

FB.login()不起作用。 FB Popup沒有請求正確的權限。我可以清楚地看到,在源代碼中有一個fn處理程序使用正確設置的正確參數/參數。我想了解爲什麼這不起作用?Angular + Facebook JS SDK登錄:不請求我的權限

這是迄今爲止我已經得到了代碼:

http://jsbin.com/IteY/1/

這是我設置的權限列表:

facebook.login(function(response) { 
    console.log(response); 
}, {scope: 'email,user_likes'}); 

按照文檔(https://developers.facebook.com/docs/reference/javascript/FB.login/)我得到了fn函數(response){...}和{scope:'email,user_li kes'}

我發現其他一些用戶在SO中使用FB SDK報告相同的問題。我嘗試了使用「perms」而不是「scope」的提示,但是我得到:

OAuth2規範聲明'perms'現在應該被稱爲'範圍'。請更新。

  • 沒有出現問題。這也表明該參數正在發送到那裏。想知道爲什麼不工作?!我也清理過緩存

  • 本來我報告過這個問題(AngularJS: DI Error - No module: $facebook, why isn't working?),這個問題已經解決了。現在有權訪問FB對象,我無法從用戶那裏獲得正確的權限。我敢肯定,這是和

****我也嘗試用.API等以檢查權限與Facebook API相關的問題不是角模塊:

facebook.api('/me/permissions', function (response) { 
    console.log(response); 
}); 

的console.log報道:

對象{錯誤:對象}

*****現在我已經嘗試使用過的access_token圖形訪問:

https://graph.facebook.com/me/permissions?access_token=XXXXXXXX

我可以看到正確的權限,但是Facebook登錄彈出窗口卻從來沒問過我這些嗎? 不應該嗎?

{ 
    "data": [ 
     { 
      "installed": 1, 
      "basic_info": 1, 
      "email": 1, 
      "read_friendlists": 1, 
      "user_likes": 1, 
      "user_online_presence": 1, 
      "user_friends": 1 
     } 
    ], 
    "paging": { 
     "next": "xxxxxxx" 
    } 
    } 

我現在問一個不同的用戶,誰我已經添加到我的沙箱作爲管理員,他得到了所需的權限彈出!所以,我認爲是可以做的事情,用我自己的用戶名擁有這個權限已經設置或什麼 - 即使我試圖刪除緩存等!

所以,沒有問題需要解決。希望這對未來的其他人有用!

任何一個有經驗的人都可以看看?

謝謝

+0

你必須有已經認證該應用程序。嘗試從Facebook配置文件中的應用程序設置中刪除應用程序,並查詢是否要求授予權限。 –

回答

0

嘗試連接一個監聽器,Facebook的登錄事件/ statuschange:

$facebookProvider.Event.subscribe('auth.authResponseChange', function (response) { 
    console.log(response); 
}) 

,並期待在響應元素,看看是否有錯誤或不