{"id":6455,"date":"2013-02-12T01:30:04","date_gmt":"2013-02-12T01:30:04","guid":{"rendered":"https:\/\/dev.railscarma.com\/how-to-get-user-information-from-facebook-to-rails-application\/"},"modified":"2021-06-07T08:00:44","modified_gmt":"2021-06-07T08:00:44","slug":"how-to-get-user-information-from-facebook-to-rails-application","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/how-to-get-user-information-from-facebook-to-rails-application\/","title":{"rendered":"Facebook \u304b\u3089 Rails \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b\u306b\u306f\u3069\u3046\u3059\u308c\u3070\u3088\u3044\u3067\u3059\u304b?"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6455\" class=\"elementor elementor-6455\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-46d892ca elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"46d892ca\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-11286f81\" data-id=\"11286f81\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6db6e1d6 elementor-widget elementor-widget-text-editor\" data-id=\"6db6e1d6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\">With Facebook\u2019s <em>Graph API<\/em> and the creation of the <em>Open Graph protocol<\/em>, it is now easier then ever before to read and write data from facebook to rails application and back to the \u201csocial graph\u201d. Here\u2019s a few of the possibilities:<\/p>\n\n<ul style=\"text-align: justify;\">\n \t<li style=\"text-align: justify;\">You could turn your webpage into a fully-featured Facebook-like page, just like if you were inside Facebook.<\/li>\n \t<li style=\"text-align: justify;\">You can give your users the ability to sign in with their Facebook credentials and customize their experience with parameters taken from their Facebook profiles.<\/li>\n \t<li style=\"text-align: justify;\">You could add a <em>Like<\/em> button to every object in your page such as images, songs, articles, etc., and tell your users which friends of theirs have liked your content.<\/li>\n<\/ul>\n<h4 style=\"text-align: justify;\" align=\"LEFT\"><strong>Steps to create application and fetch information<\/strong><\/h4>\n<p style=\"text-align: justify;\">A facebook app_id, and api_secret_key is needed<\/p>\n<p style=\"text-align: justify;\">go to the link<\/p>\n<p style=\"text-align: justify;\">https:\/\/developers.facebook.com\/apps<\/p>\n\n<h5 style=\"text-align: justify;\">1. <strong>Create new app on facebook<\/strong><\/h5>\n<ul style=\"text-align: justify;\">\n \t<li>\n<p align=\"LEFT\">Give app name(example: sample_app)<\/p>\n<\/li>\n \t<li>\n<p align=\"LEFT\">then we need to fill following information<\/p>\n<\/li>\n \t<li>\n<p align=\"LEFT\">App domain: localhost<\/p>\n<\/li>\n \t<li>\n<p align=\"LEFT\">website url: <a href=\"http:\/\/localhost\/3000\/\">http:\/\/localhost\/3000\/<\/a><\/p>\n<p align=\"LEFT\"><\/p>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong>On the same page we can find App Id &amp; App Secret . It looks like<\/strong><\/p>\n<p style=\"text-align: justify;\">App ID: 378271044441102<\/p>\n<p style=\"text-align: justify;\">App Secret: 567772fd2bef4dda7a404b02r4567c758<\/p>\n\n<h5 style=\"text-align: justify;\">2. <strong>Create Rails application<\/strong><\/h5>\n<p style=\"text-align: justify;\"><strong> The following are the steps to create<a href=\"https:\/\/www.railscarma.com\/ja\/\" target=\"_blank\" rel=\"noopener noreferrer\"> \u30ec\u30fc\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/a><\/strong><\/p>\n\n<ul style=\"text-align: justify;\">\n \t<li>rails new facebook_app<\/li>\n \t<li>sudo gem install fb_graph<\/li>\n \t<li>add to Gemfilegem &#8220;fb_graph&#8221;<\/li>\n \t<li>sudo bundle install<\/li>\n \t<li>create index page to fb_loginrails generate controller pages index<\/li>\n \t<li>set index to root page in config\/routes.rbroot :to =&gt; &#8220;pages#home&#8221;<\/li>\n \t<li>create authentication for app(simple authentication)<\/li>\n \t<li>creating facebook controller and facebook model with :Identifier =&gt; string:access_token =&gt;string<\/li>\n \t<li>rails generate scaffold facebook identifier:string access_token:string<\/li>\n \t<li>rails generate controller dashboard show<\/li>\n \t<li>In pages controller redirect the page to dashboard:show if it is authenticated alreadycontroller\/pages_controller.rb<\/li>\n<\/ul>\n<p style=\"text-align: justify;\" align=\"LEFT\">\u30c7\u30d5\u30a9\u30eb\u30c8\u30a4\u30f3\u30c7\u30c3\u30af\u30b9<\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\">redirect_to dashboard_url if authenticated?<\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">If not authenticated then root_path will be loaded ie. pages\/index, create fb_login in this page to authebticate.<\/p>\n<p style=\"text-align: justify;\">&lt;% if authenticated? %&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;p&gt;&lt;%= link_to &ldquo;Logout&rdquo;, facebook_path, :method =&gt; :delete %&gt;&lt;\/p&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;% else %&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;fb:login-button length=&#8221;long&#8221; onlogin=&#8221;location.href = &#8216;&lt;%= facebook_path %&gt;'&#8221; scope=&#8221;&lt;%=<\/p>\n<p style=\"text-align: justify;\">Facebook.config[:scope] %&gt;&#8221;&gt; &lt;\/fb:login-button&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;%\u7d42\u4e86%&gt;<\/p>\n\n<h5 style=\"text-align: justify;\"><strong>3. Paste the following script code(for facebook login button) <\/strong><\/h5>\n<p style=\"text-align: justify;\">&lt;script src=&#8221;https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/all.js&#8221;&gt;&lt;\/script&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;script&gt;<\/p>\n<p style=\"text-align: justify;\">FB.init({<\/p>\n<p style=\"text-align: justify;\">appId: &#8220;&lt;%= Facebook.config[:client_id] %&gt;&#8221;,<\/p>\n<p style=\"text-align: justify;\">cookie: true,<\/p>\n<p style=\"text-align: justify;\">xfbml: true,<\/p>\n<p style=\"text-align: justify;\">oauth: true,<\/p>\n<p style=\"text-align: justify;\">status: true<\/p>\n<p style=\"text-align: justify;\">});<\/p>\n<p style=\"text-align: justify;\">&lt;\/script&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;script type=&#8221;text\/javascript&#8221;&gt;<\/p>\n<p style=\"text-align: justify;\">$(function () {<\/p>\n<p style=\"text-align: justify;\">&lt;% if flash[:error] %&gt;<\/p>\n<p style=\"text-align: justify;\">$.gritter.add({<\/p>\n<p style=\"text-align: justify;\">title: &#8220;&lt;%= flash[:error][:title] %&gt;&#8221;,<\/p>\n<p style=\"text-align: justify;\">text : &#8220;&lt;%= flash[:error][:message] %&gt;&#8221;,<\/p>\n<p style=\"text-align: justify;\">image: &#8220;&lt;%= flash[:error][:image] %&gt;&#8221;,<\/p>\n<p style=\"text-align: justify;\">time : 5000<\/p>\n<p style=\"text-align: justify;\">});<\/p>\n<p style=\"text-align: justify;\">&lt;% elsif flash[:notice] %&gt;<\/p>\n<p style=\"text-align: justify;\">$.gritter.add({<\/p>\n<p style=\"text-align: justify;\">title: &#8220;&lt;%= flash[:notice][:title] %&gt;&#8221;,<\/p>\n<p style=\"text-align: justify;\">text : &#8220;&lt;%= flash[:notice][:message] %&gt;&#8221;,<\/p>\n<p style=\"text-align: justify;\">image: &#8220;&lt;%= flash[:notice][:image] %&gt;&#8221;,<\/p>\n<p style=\"text-align: justify;\">time : 3000<\/p>\n<p style=\"text-align: justify;\">});<\/p>\n<p style=\"text-align: justify;\">&lt;%\u7d42\u4e86%&gt;<\/p>\n<p style=\"text-align: justify;\">});<\/p>\n<p style=\"text-align: justify;\">&lt;\/script&gt;<\/p>\n<p style=\"text-align: justify;\">The above code is used to authenticate user through facebook, after authenticating user should redirect to dashboard url to show his information fetched from facebook. some facebook settings should be code in facebook model, and controller.<\/p>\n<p style=\"text-align: justify;\">In controller\/facebook_controller.rb.<\/p>\n<p style=\"text-align: justify;\">before_filter :require_authentication, :only =&gt; :destroy<\/p>\n<p style=\"text-align: justify;\">rescue_from Rack::OAuth2::Client::Error, :with =&gt; :oauth2_error<\/p>\n<p style=\"text-align: justify;\"># handle Facebook Auth Cookie generated by JavaScript SDK<\/p>\n<p style=\"text-align: justify;\">\u30c7\u30d5\u30b7\u30e7\u30fc<\/p>\n<p style=\"text-align: justify;\">auth = Facebook.auth.from_cookie(cookies)<\/p>\n<p style=\"text-align: justify;\">authenticate Facebook.identify(auth.user)<\/p>\n<p style=\"text-align: justify;\">redirect_to dashboard_url<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\"># handle Normal OAuth flow: start<\/p>\n<p style=\"text-align: justify;\">\u78ba\u304b\u306b\u65b0\u3057\u3044<\/p>\n<p style=\"text-align: justify;\">client = Facebook.auth(callback_facebook_url).client<\/p>\n<p style=\"text-align: justify;\">redirect_to client.authorization_uri(<\/p>\n<p style=\"text-align: justify;\">:scope =&gt; Facebook.config[:scope]<\/p>\n<p style=\"text-align: justify;\">)<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\"># handle Normal OAuth flow: callback<\/p>\n<p style=\"text-align: justify;\">\u30c7\u30d5\u30a9\u30eb\u30c8\u4f5c\u6210<\/p>\n<p style=\"text-align: justify;\">client = Facebook.auth(callback_facebook_url).client<\/p>\n<p style=\"text-align: justify;\">client.authorization_code = params[:code]<\/p>\n<p style=\"text-align: justify;\">access_token = client.access_token! :client_auth_body<\/p>\n<p style=\"text-align: justify;\">user = FbGraph::User.me(access_token).fetch<\/p>\n<p style=\"text-align: justify;\">authenticate Facebook.identify(user)<\/p>\n<p style=\"text-align: justify;\">redirect_to dashboard_url<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">\u9593\u9055\u3044\u306a\u304f\u7834\u58ca\u3059\u308b<\/p>\n<p style=\"text-align: justify;\">unauthenticate<\/p>\n<p style=\"text-align: justify;\">redirect_to root_url<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8<\/p>\n<p style=\"text-align: justify;\">def oauth2_error(e)<\/p>\n<p style=\"text-align: justify;\">flash[:error] = {<\/p>\n<p style=\"text-align: justify;\">:title =&gt; e.response[:error][:type],<\/p>\n<p style=\"text-align: justify;\">:message =&gt; e.response[:error][:message]<\/p>\n<p style=\"text-align: justify;\">}<\/p>\n<p style=\"text-align: justify;\">redirect_to root_url<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n\n<h5 style=\"text-align: justify;\"><strong>4. Paste this code in facebook.rb<\/strong><\/h5>\n<p style=\"text-align: justify;\">def profile<\/p>\n<p style=\"text-align: justify;\">@profile ||= FbGraph::User.me(self.access_token).fetch<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">class &lt;&lt; self<\/p>\n<p style=\"text-align: justify;\">extend ActiveSupport::Memoizable<\/p>\n<p style=\"text-align: justify;\">def config<\/p>\n<p style=\"text-align: justify;\">@config ||= if ENV[&#8216;fb_client_id&#8217;] &amp;&amp; ENV[&#8216;fb_client_secret&#8217;] &amp;&amp; ENV[&#8216;fb_scope&#8217;] &amp;&amp; ENV[&#8216;fb_canvas_url&#8217;]<\/p>\n<p style=\"text-align: justify;\">{<\/p>\n<p style=\"text-align: justify;\">:client_id =&gt; ENV[&#8216;fb_client_id&#8217;],<\/p>\n<p style=\"text-align: justify;\">:client_secret =&gt; ENV[&#8216;fb_client_secret&#8217;],<\/p>\n<p style=\"text-align: justify;\">:scope =&gt; ENV[&#8216;fb_scope&#8217;],<\/p>\n<p style=\"text-align: justify;\">:canvas_url =&gt; ENV[&#8216;fb_canvas_url&#8217;]<\/p>\n<p style=\"text-align: justify;\">}<\/p>\n<p style=\"text-align: justify;\">\u305d\u308c\u4ee5\u5916<\/p>\n<p style=\"text-align: justify;\">YAML.load_file(&#8220;#{Rails.root}\/config\/facebook.yml&#8221;)[Rails.env].symbolize_keys<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">rescue Errno::ENOENT =&gt; e<\/p>\n<p style=\"text-align: justify;\">raise StandardError.new(&#8220;config\/facebook.yml could not be loaded.&#8221;)<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">def app<\/p>\n<p style=\"text-align: justify;\">FbGraph::Application.new config[:client_id], :secret =&gt; config[:client_secret]<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">def auth(redirect_uri = nil)<\/p>\n<p style=\"text-align: justify;\">FbGraph::Auth.new config[:client_id], config[:client_secret], :redirect_uri =&gt; redirect_uri<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">def identify(fb_user)<\/p>\n<p style=\"text-align: justify;\">_fb_user_ = find_or_initialize_by_identifier(fb_user.identifier.try(:to_s))<\/p>\n<p style=\"text-align: justify;\">_fb_user_.access_token = fb_user.access_token.access_token<\/p>\n<p style=\"text-align: justify;\">_fb_user_.save!<\/p>\n<p style=\"text-align: justify;\">_fb_user_<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">\u7d42\u308f\u308a<\/p>\n<p style=\"text-align: justify;\">Now we are ready to get user info if he authenticated, once he authenticate page will redirect to dashboard_url,<\/p>\n<p style=\"text-align: justify;\">code in controller\/dashboard_controller.rb<\/p>\n<p style=\"text-align: justify;\">before_filter :require_authentication k<\/p>\n<p style=\"text-align: justify;\">view for dashboard\/show.html.erb<\/p>\n<p style=\"text-align: justify;\">&lt;h2&gt;User Profile&lt;\/h2&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dl&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Username&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.username %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Name&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.name %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;First Name&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.first_name %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Middle Name&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.middle_name %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Last Name&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.last_name %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Gender&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.gender %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Link&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= link_to current_user.profile.link, current_user.profile.link %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Email&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.email %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;About&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.about %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Birthday&lt;\/dt&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dd&gt;&lt;%= current_user.profile.birthday %&gt;&lt;\/dd&gt;<\/p>\n<p style=\"text-align: justify;\">&lt;dt&gt;Work&lt;\/dt&gt;&lt;\/dl&gt;<\/p>\n<p style=\"text-align: justify;\">The above code is to show user information.<\/p>\n\n<h5 style=\"text-align: justify;\"><strong>5. Finally create facebook.rb file in config<\/strong><\/h5>\n<p style=\"text-align: justify;\">development: &amp;defaults<\/p>\n<p style=\"text-align: justify;\">client_id: &#8220;your facebook app_id&#8221;<\/p>\n<p style=\"text-align: justify;\">client_secret: &#8220;facebook secret id&#8221;<\/p>\n<p style=\"text-align: justify;\">scope: user_about_me,friends_about_me,user_activities,friends_activities,user_birthday,<\/p>\n<p style=\"text-align: justify;\">friends_birthday,user_checkins,friends_checkins,user_education_history,<\/p>\n<p style=\"text-align: justify;\">friends_education_history,user_events,friends_events,user_groups,friends_groups,<\/p>\n<p style=\"text-align: justify;\">user_hometown,friends_hometown,user_interests,friends_interests,user_likes,friends_likes,<\/p>\n<p style=\"text-align: justify;\">user_location,friends_location,user_notes,friends_notes,user_online_presence,<\/p>\n<p style=\"text-align: justify;\">friends_online_presence,user_photo_video_tags,friends_photo_video_tags,user_photos<\/p>\n<p style=\"text-align: justify;\">test:<\/p>\n<p style=\"text-align: justify;\">&lt;&lt;: *defaults<\/p>\n<p style=\"text-align: justify;\">\u751f\u7523\uff1a<\/p>\n<p style=\"text-align: justify;\">&lt;&lt;: *defaults<\/p>\n<a href=\"\/ja\/%e3%81%8a%e5%95%8f%e3%81%84%e5%90%88%e3%82%8f%e3%81%9b\/\">\u3054\u9023\u7d61\u304f\u3060\u3055\u3044\u3002<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7bcee31a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7bcee31a\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1bc09471\" data-id=\"1bc09471\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-14116d08 elementor-widget elementor-widget-heading\" data-id=\"14116d08\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u6700\u65b0\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u8cfc\u8aad\u3059\u308b<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-791fbfbd elementor-widget elementor-widget-shortcode\" data-id=\"791fbfbd\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"\u30ed\u30fc\u30c0\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"a6180fbcb4\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"\u540d\u524d\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"\u8cfc\u8aad\u3059\u308b\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"ja\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">\u95a2\u9023\u8a18\u4e8b<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u30ab\u30df\u30ca\u30ea\u30b8\u30a7\u30e0\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/%e3%82%ab%e3%83%9f%e3%83%8a%e3%83%aa%e3%82%b8%e3%82%a7%e3%83%a0\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\u30ab\u30df\u30ca\u30ea\u30b8\u30a7\u30e0\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"\u30ab\u30df\u30ca\u30ea\u30b8\u30a7\u30e0\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e6%8a%80%e8%a1%93%e8%ab%96%e6%96%87\/%e3%82%ab%e3%83%9f%e3%83%8a%e3%83%aa%e3%82%b8%e3%82%a7%e3%83%a0\/?related_post_from=37277\">\r\n        \u30ab\u30df\u30ca\u30ea\u30b8\u30a7\u30e0  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u306a\u305c2026\u5e74\u306bRuby on Rails\u958b\u767a\u8005\u3092\u96c7\u3046\u306e\u304b\uff1f\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e3%83%ad%e3%83%bc\/why-to-hire-ruby-on-rails-developers\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"2022 \u5e74\u306b Ruby on Rails \u958b\u767a\u8005\u3092\u96c7\u7528\u3059\u308b\u7406\u7531\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"\u306a\u305c2026\u5e74\u306bRuby on Rails\u958b\u767a\u8005\u3092\u96c7\u3046\u306e\u304b\uff1f\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e3%83%ad%e3%83%bc\/why-to-hire-ruby-on-rails-developers\/?related_post_from=30627\">\r\n        \u306a\u305c2026\u5e74\u306bRuby on Rails\u958b\u767a\u8005\u3092\u96c7\u3046\u306e\u304b\uff1f  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u306b\u304a\u3051\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2 \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u91cd\u8981\u6027\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e3%83%ad%e3%83%bc\/%e3%82%a8%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%97%e3%83%a9%e3%82%a4%e3%82%ba%e3%83%bb%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e9%96%8b%e7%99%ba%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b%e3%82%bd\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u306b\u304a\u3051\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2 \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u91cd\u8981\u6027\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u306b\u304a\u3051\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2 \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u91cd\u8981\u6027\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e3%83%ad%e3%83%bc\/%e3%82%a8%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%97%e3%83%a9%e3%82%a4%e3%82%ba%e3%83%bb%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e9%96%8b%e7%99%ba%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8b%e3%82%bd\/?related_post_from=36250\">\r\n        \u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u306b\u304a\u3051\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2 \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u91cd\u8981\u6027  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: Ruby on Rails \u958b\u767a\u306b\u6700\u9069\u306a IDE\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e3%83%ad%e3%83%bc\/ruby-ide-ruby-on-rails-%e9%96%8b%e7%99%ba%e3%81%ab%e6%9c%80%e9%81%a9%e3%81%aa%e3%82%a2%e3%82%a4%e3%83%87%e3%82%a2\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Ruby on Rails \u958b\u767a\u306b\u6700\u9069\u306a\u30a2\u30a4\u30c7\u30a2\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE: Ruby on Rails \u958b\u767a\u306b\u6700\u9069\u306a IDE\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/%e3%83%ad%e3%83%bc\/ruby-ide-ruby-on-rails-%e9%96%8b%e7%99%ba%e3%81%ab%e6%9c%80%e9%81%a9%e3%81%aa%e3%82%a2%e3%82%a4%e3%83%87%e3%82%a2\/?related_post_from=36125\">\r\n        Ruby IDE: Ruby on Rails \u958b\u767a\u306b\u6700\u9069\u306a IDE  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Facebook \u306e Graph API \u3068 Open Graph \u30d7\u30ed\u30c8\u30b3\u30eb\u306e\u4f5c\u6210\u306b\u3088\u308a\u3001Facebook \u304b\u3089 Rails \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3078\u306e\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u3068\u66f8\u304d\u8fbc\u307f\u3001\u305d\u3057\u3066\u300c\u30bd\u30fc\u30b7\u30e3\u30eb \u30b0\u30e9\u30d5\u300d\u3078\u306e\u30c7\u30fc\u30bf\u306e\u66f8\u304d\u8fbc\u307f\u304c\u304b\u3064\u3066\u306a\u3044\u307b\u3069\u7c21\u5358\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u53ef\u80fd\u6027\u306e\u3044\u304f\u3064\u304b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002\u307e\u308b\u3067 Facebook \u5185\u306b\u3044\u308b\u304b\u306e\u3088\u3046\u306b\u3001Web \u30da\u30fc\u30b8\u3092\u30d5\u30eb\u6a5f\u80fd\u306e Facebook \u306e\u3088\u3046\u306a\u30da\u30fc\u30b8\u306b\u5909\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30e6\u30fc\u30b6\u30fc\u304c Facebook \u8cc7\u683c\u60c5\u5831\u3092\u4f7f\u7528\u3057\u3066\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u3001Facebook \u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u304b\u3089\u53d6\u5f97\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30a8\u30af\u30b9\u30da\u30ea\u30a8\u30f3\u30b9\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u753b\u50cf\u3001\u66f2\u3001\u8a18\u4e8b\u306a\u3069\u3001\u30da\u30fc\u30b8\u5185\u306e\u3059\u3079\u3066\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u300c\u3044\u3044\u306d\uff01\u300d\u30dc\u30bf\u30f3\u3092\u8ffd\u52a0\u3057\u3066\u3001\u3069\u306e\u53cb\u9054\u304c\u6301\u3063\u3066\u3044\u308b\u304b\u3092\u30e6\u30fc\u30b6\u30fc\u306b\u4f1d\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/ja\/%e3%83%96%e3%83%ad%e3%82%b0\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Ruby on Rails\u3092\u4f7f\u3063\u3066\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306aSaaS\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3092\u69cb\u7bc9\u3059\u308b\u65b9\u6cd5<\/span> \u3082\u3063\u3068\u8aad\u3080 \"<\/a><\/p>","protected":false},"author":1,"featured_media":32189,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[385,384],"tags":[484,485,379,486],"class_list":["post-6455","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-management","category-technical-articles","tag-application-development","tag-facebook","tag-rails-application","tag-ruby-on-rails-application-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to get user information from Facebook to Rails application? - RailsCarma Blog<\/title>\n<meta name=\"description\" content=\"With Facebook\u2019s Open Graph protocol, it is now easier then ever to read and write data from facebook to rails application and back to the \u201csocial graph\u201d.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/ja\/\u30d6\u30ed\u30b0\/\u6280\u8853\u8ad6\u6587\/how-to-get-user-information-from-facebook-to-rails-application\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to get user information from Facebook to Rails application? - RailsCarma Blog\" \/>\n<meta property=\"og:description\" content=\"With Facebook\u2019s Open Graph protocol, it is now easier then ever to read and write data from facebook to rails application and back to the \u201csocial graph\u201d.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/ja\/\u30d6\u30ed\u30b0\/\u6280\u8853\u8ad6\u6587\/how-to-get-user-information-from-facebook-to-rails-application\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2013-02-12T01:30:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-07T08:00:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"650\" \/>\n\t<meta property=\"og:image:height\" content=\"459\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"How To Get User Information From Facebook To Rails Application?\",\"datePublished\":\"2013-02-12T01:30:04+00:00\",\"dateModified\":\"2021-06-07T08:00:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/\"},\"wordCount\":1230,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg\",\"keywords\":[\"application development\",\"facebook\",\"rails application\",\"ruby on rails application development\"],\"articleSection\":[\"Articles on Management\",\"Technical Articles\"],\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/\",\"url\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/\",\"name\":\"How to get user information from Facebook to Rails application? - RailsCarma Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg\",\"datePublished\":\"2013-02-12T01:30:04+00:00\",\"dateModified\":\"2021-06-07T08:00:44+00:00\",\"description\":\"With Facebook\u2019s Open Graph protocol, it is now easier then ever to read and write data from facebook to rails application and back to the \u201csocial graph\u201d.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg\",\"width\":650,\"height\":459},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How To Get User Information From Facebook To Rails Application?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to get user information from Facebook to Rails application? - RailsCarma Blog","description":"With Facebook\u2019s Open Graph protocol, it is now easier then ever to read and write data from facebook to rails application and back to the \u201csocial graph\u201d.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/ja\/\u30d6\u30ed\u30b0\/\u6280\u8853\u8ad6\u6587\/how-to-get-user-information-from-facebook-to-rails-application\/","og_locale":"ja_JP","og_type":"article","og_title":"How to get user information from Facebook to Rails application? - RailsCarma Blog","og_description":"With Facebook\u2019s Open Graph protocol, it is now easier then ever to read and write data from facebook to rails application and back to the \u201csocial graph\u201d.","og_url":"https:\/\/www.railscarma.com\/ja\/\u30d6\u30ed\u30b0\/\u6280\u8853\u8ad6\u6587\/how-to-get-user-information-from-facebook-to-rails-application\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2013-02-12T01:30:04+00:00","article_modified_time":"2021-06-07T08:00:44+00:00","og_image":[{"width":650,"height":459,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u57f7\u7b46\u8005":"admin","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"6\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"How To Get User Information From Facebook To Rails Application?","datePublished":"2013-02-12T01:30:04+00:00","dateModified":"2021-06-07T08:00:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/"},"wordCount":1230,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg","keywords":["application development","facebook","rails application","ruby on rails application development"],"articleSection":["Articles on Management","Technical Articles"],"inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/","url":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/","name":"How to get user information from Facebook to Rails application? - RailsCarma Blog","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg","datePublished":"2013-02-12T01:30:04+00:00","dateModified":"2021-06-07T08:00:44+00:00","description":"With Facebook\u2019s Open Graph protocol, it is now easier then ever to read and write data from facebook to rails application and back to the \u201csocial graph\u201d.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2013\/02\/16562_1_other_wallpapers_hal_9000.jpeg","width":650,"height":459},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/es\/blog\/technical-articles\/como-obtener-informacion-del-usuario-de-facebook-a-la-aplicacion-rails\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"How To Get User Information From Facebook To Rails Application?"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - \u30aa\u30d5\u30b7\u30e7\u30a2\u958b\u767a\u306b\u7279\u5316\u3057\u305f Ruby on Rails \u958b\u767a\u4f1a\u793e","description":"RailsCarma \u306f\u30d0\u30f3\u30ac\u30ed\u30fc\u30eb\u306e Ruby on Rails \u958b\u767a\u4f1a\u793e\u3067\u3059\u3002\u5f53\u793e\u306f\u7c73\u56fd\u3068\u30a4\u30f3\u30c9\u3092\u62e0\u70b9\u3068\u3059\u308b\u30aa\u30d5\u30b7\u30e7\u30a2 Ruby on Rails \u958b\u767a\u3092\u5c02\u9580\u3068\u3057\u3066\u3044\u307e\u3059\u3002\u7d4c\u9a13\u8c4a\u5bcc\u306a Ruby on Rails \u958b\u767a\u8005\u3092\u96c7\u3063\u3066\u3001\u7a76\u6975\u306e Web \u30a8\u30af\u30b9\u30da\u30ea\u30a8\u30f3\u30b9\u3092\u5b9f\u73fe\u3057\u307e\u3057\u3087\u3046\u3002","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"\u30ec\u30fc\u30eb\u30ab\u30fc\u30de","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"\u7ba1\u7406\u8005","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/posts\/6455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/comments?post=6455"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/posts\/6455\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/media\/32189"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/media?parent=6455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/categories?post=6455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/ja\/wp-json\/wp\/v2\/tags?post=6455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}