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
タイムラインのリンクをクリックすると、次の URL に移動します。ここから問題が発生します。基本的に、このリンクから入ってくるユーザーを認識してログインしたい(または新しいユーザーを作成したい)。認証された紹介をオンにして、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}}
どんな助けでも大歓迎です。