對於我的應用程序,構建我需要能夠確定Facebook用戶與顯示該應用程序的頁面之間的關係。我希望能提供以下功能:如何與OmniAuth Facebook,Sinatra和Datamapper'Like-gate'
1)如果用戶喜歡的頁面,他們引導到另一個頁面 2)如果用戶不喜歡的網頁,他們引導到另一個頁面 3)如果用戶是當前頁面的管理員,將他們引導到另一個頁面
驗證散列架構(https://github.com/intridea/omniauth/wiki/Auth-Hash-Schema)不提供如何訪問用戶喜歡的信息,或者指示以下方式的信息:a)喜歡還是不喜歡像當前頁面,或B)是當前頁面的管理員。
此外,我研究了互聯網,但找不到任何具體的Ruby或Sinatra如何做到這一點的例子。我接近的最接近的是(https://github.com/chrissloan/sinatra-book/blob/master/app.rb),但是這個用戶FBGraph(我使用的是Omniauth-Facebook)和這個腳本並沒有區分該頁面的管理員用戶。
因此,我想知道如果我的方法區分用戶在頁面選項卡上是天生錯誤,並且想知道是否有另一個實現期望目標的過程。
因此,在總結,我試圖創建:
- 後端是由應用程序管理員訪問。當應用管理員進入該頁面時,將顯示管理面板。
- 顯示用戶是否喜歡該頁面的前端,並根據此狀態向他們顯示具體內容 - 「類似門」。
感謝您的閱讀,如果你能幫助它將非常感激。
我想到了一些代碼,但從文檔我不確定它是否是有效的語法。從一開始就是實驗部分,上面的代碼工作並正在使用。
get '/auth/:provider/callback' do
content_type 'application/json'
JSON.generate(request.env)
auth = request.env["omniauth.auth"]
puts auth
=begin
if auth['page']['admin'] == true ***not sure if admin is valid syntax***
#check user database and move to admin side
else if auth['page']['liked'] == true
#allow to download endpoint
else
auth['page']['liked'] = false
#direct to wall to like
end