2012-08-29 83 views
1

我有一個使用omniauth啓用用戶通過Facebook註冊的應用程序。我的臉書應用程序請求用戶的許可,以用戶的名義發佈到臉書。我的問題是,是否有一種方法可以確定用戶在身份驗證過程中是否「跳過」授予該權限(似乎用戶實際上拒絕授予此權限是不可能的......他們只能跳過它)?我看不到由facebook回調返回的request.env中的任何內容。如何確定用戶是否允許我的應用程序發佈到facebook

就像旁邊一樣,似乎有各種問題與fb圖和授予發佈權限。例如,即使用戶「跳過」授予此權限,當用戶查看他的fb授權應用程序時,我的應用程序也會出現,表明用戶已授予此權限,即使fb阻止我的應用程序發出fb帖子。此外,用戶似乎不可能隨後改變主意讓我的應用程序發佈到fb:甚至無法編輯fb上的應用程序以實際授予權限。

我錯過了一些關於FB - 圖?

+0

可能重複的[如何檢查在Facebook的特殊權限](http://facebook.stackoverflow.com/questions/1563223/how-to-check-special-permissions-in-facebook) – Igy

+0

這是一個很好的解決方案客戶端檢測使用js。我正在尋找一個服務器端解決方案。魯迪的回答讓我走上了正確的道路。 –

+1

這是相同的API調用客戶端,因爲它是服務器端 - JS SDK和PHP SDK的唯一區別是你做'$ facebook-> api('/ me/permissions')'服務器端和'FB.api('/me/permissions');'在JS SDK – Igy

回答

1

您可以檢查用戶授予您的應用程序的權限。您所要做的就是使用此應用程序的用戶access_token或應用程序access_token向/ USER_ID /權限發出HTTP GET。這將返回一個包含用戶已授予該應用程序的權限名稱的對象。

+0

感謝Rudi。 [Here](http://stackoverflow.com/questions/8176848/checking-for-facebook-user-permissions-in-rails)是我閱讀你的文章後發現的更詳細的實現。 –

+0

太棒了。這篇文章更好..至少它是在Rails的上下文中。快樂的編碼! –

相關問題