点击时间轴中的OpenGraph链接无法通过“验证验证码错误”进行身份验证

时间:2012-07-17 17:03:43

标签: oauth facebook-opengraph facebook-authentication facebook-oauth facebook-timeline

我正在尝试通过点击facebook中的opengraph操作来验证访问我网站的用户。

我使用以下代码成功生成了操作。这个 成功地进入我的时间表。到目前为止,非常好。

require 'cgi'

client_id ="CLIENT_ID"
client_secret = "CLIENT_SECRET"

recipe = "http://foodonthetable.shadr.us/recipes/1007-spanish-chicken-and-rice"
access_token = "LONGACCESSTOKEN"

# PUBLISH
result = `curl -F access_token=#{access_token} -F recipe=#{recipe} https://graph.facebook.com/me/foodonthetable_mrh:plan_to_cook`
puts result

当我点击时间线中的链接时,我会转到以下网址。这是哪里 我开始遇到问题。基本上,我想要识别用户进来 通过此链接并将其登录(或创建新用户)。我有 已启用身份验证的引荐,并且我正在接收code参数 预期

http://foodonthetable.shadr.us/recipes/1007-spanish-chicken-and-rice?fb_action_ids=384156608318085&fb_action_types=foodonthetable_mrh%3Aplan_to_cook&fb_source=timeline_og&action_object_map=%7B%22384156608318085%22%3A10151004406923956%7D&code=AQAPExNw7MHkxcLTEi5L24iD79pVa-WYxyhBA_bhdWLCM0PCGDuPjh1WqmAyd3_O3_LSjYzPawrinHNP3nv9BCMB_XuTnr8De8xQ2AwXqCaeHUzZUPm2MPyQ_eodOC9-YtjkvXm_PzRX3JG58khalT3AJjVuZvKHn5hWGDSohXLRbHGxW-vOg_Whm3mt_WUkdd0#_=_

然而,当我尝试使用此代码获取auth_token时,我无法做到。 我尝试过使用redirect_uri思考的几个不同版本 这可能是问题(基于其他帖子)但似乎没有任何效果。

redirect_uri = "http://foodonthetable.shadr.us/recipes/1007-spanish-chicken-and-rice"
redirect_uri = "http://foodonthetable.shadr.us/facebook_connect/connect"

code = "AQAPExNw7MHkxcLTEi5L24iD79pVa-WYxyhBA_bhdWLCM0PCGDuPjh1WqmAyd3_O3_LSjYzPawrinHNP3nv9BCMB_XuTnr8De8xQ2AwXqCaeHUzZUPm2MPyQ_eodOC9-YtjkvXm_PzRX3JG58khalT3AJjVuZvKHn5hWGDSohXLRbHGxW-vOg_Whm3mt_WUkdd0"

result = `curl -F client_id=#{client_id} -F redirect_uri=#{redirect_uri} -F client_secret=#{client_secret} -F code=#{code} https://graph.facebook.com/oauth/access_token`
puts result

无论我在这里做什么,我总是会收到以下错误:

{"error":{"message":"Error validating verification code.","type":"OAuthException","code":100}}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这确实可以解决它。

redirect_uri = request.url.split('&code=').first