加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Ruby / Sinatra和Rest-Graph gem在Facebook App中获取signed

发布时间:2020-12-17 02:41:26 所属栏目:百科 来源:网络整理
导读:我使用Sinatra和 Rest-Graph gem建立了一个Facebook应用程序.现在我想 embed the app as an iframe tab in a Facebook Page. 为此,我需要从Facebook发送到我的应用程序的signed_request中获取数据. Rest-Graph gem表示以下功能on its Github page: Utility
我使用Sinatra和 Rest-Graph gem建立了一个Facebook应用程序.现在我想 embed the app as an iframe tab in a Facebook Page.

为此,我需要从Facebook发送到我的应用程序的signed_request中获取数据.

Rest-Graph gem表示以下功能on its Github page:

Utility to extract access_token and
check sig in cookies/signed_request

我找不到任何关于如何使用这个“实用程序”的文档.你能指点我一些文档甚至更好,给我一个关于它如何与Ruby / Sinatra一起使用的例子?

解决方法

几乎所有可用的Graph API库都以类似的方式处理signed_request. Rest-Graph有一个parse_signed_request方法( Rest-Graph/lib/core.rb),你可以在Sinatra中调用它.

我正在和Sinatra一起使用Koala,它的作用与广告一样:

oauth = Koala::Facebook::OAuth.new(APP_ID,APP_CODE)
signed_request = oauth.parse_signed_request(params["signed_request"])

你得到Facebook发布的JSON对象的哈希值:

{
"algorithm"=>"HMAC-SHA256","issued_at"=>1303883452,"user"=> 
{
"country"=>"us","locale"=>"en_US"
},"user_id"=>"100002364226618"
}

rest-graph也很容易.刚刚在Sinatra应用程序中进行了测试.完美的工作:

rg = RestGraph.new( :app_id => APP_ID,:secret => APP_SECRET)
parsed_request = rg.parse_signed_request!(params["signed_request"])

Lemme知道这对你不起作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读