একমাত্র প্রশ্ন যার একগুচ্ছ উত্তর রয়েছে। সময়সীমার দিন রাত সাড়ে ১০ টায় এটিকে কাজ করার জন্য আমি যখন এই স্ক্র্যাম্বিং করছিলাম তখন আমি চাইতাম যে গাইডটির ওয়েলকাম ... এফবি ক্যানভাস অ্যাপ্লিকেশন সহ কিছু অদ্ভুত কাজ করে এবং ভাল, আপনাকে সতর্ক করে দেওয়া হয়েছে। আপনি যদি এখনও এখানে থাকেন এবং আপনার কাছে একটি রেল অ্যাপ্লিকেশন রয়েছে যা একটি ফেসবুক ক্যানভাসের পিছনে প্রদর্শিত হবে, তবে আপনার প্রয়োজন হবে:
Gemfile:
gem "rack-facebook-signed-request", :git => 'git://github.com/cmer/rack-facebook-signed-request.git'
কনফিগ / facebook.yml
facebook:
key: "123123123123"
secret: "123123123123123123secret12312"
কনফিগ / application.rb
config.middleware.use Rack::Facebook::SignedRequest, app_id: "123123123123", secret: "123123123123123123secret12312", inject_facebook: false
কনফিগ / initializers / omniauth.rb
OmniAuth.config.logger = Rails.logger
SERVICES = YAML.load(File.open("#{::Rails.root}/config/oauth.yml").read)
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, SERVICES['facebook']['key'], SERVICES['facebook']['secret'], iframe: true
end
application_controller.rb
before_filter :add_xframe
def add_xframe
headers['X-Frame-Options'] = 'GOFORIT'
end
ফেসবুকের ক্যানভাস সেটিংস থেকে কল করার জন্য আপনার একটি নিয়ামক প্রয়োজন, আমি এই অ্যাপ্লিকেশনটির জন্য /canvas/
রুটটিকে প্রধান করেছিলাম এবং তৈরি করেছি SiteController
:
class SiteController < ApplicationController
def index
@user = User.new
end
def canvas
redirect_to '/auth/failure' if request.params['error'] == 'access_denied'
url = params['code'] ? "/auth/facebook?signed_request=#{params['signed_request']}&state=canvas" : "/login"
redirect_to url
end
def login
end
end
login.html.erb
<% content_for :javascript do %>
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=471466299609256';
oauth_url += '&redirect_uri=' + encodeURIComponent('https://apps.facebook.com/wellbeingtracker/');
oauth_url += '&scope=email,status_update,publish_stream';
console.log(oauth_url);
top.location.href = oauth_url;
<% end %>
সোর্স
- আমার মনে হয় যে কনফিগারেশনটি সর্বজনীন উদাহরণ থেকে এসেছে।
- রত্ন ফাইল (যা কী !!!) এসেছে: স্লাইডসারে জিনিসগুলি আমি শিখেছি ...
- এই স্ট্যাক প্রশ্নটিতে পুরো এক্সফ্রেম এঙ্গেল ছিল, সুতরাং আপনি যদি অ্যাপ্লিকেশন নিয়ামককে এই শিরোলেখ না রাখেন তবে আপনি একটি ফাঁকা জায়গা পাবেন।
- এবং আমার মানুষ @ আরাফমগনা এই হিরকু গাইডটি লিখেছেন , যা আপনি এখন এই উত্তর এবং রাক্ষসগুলির কাঁধে আপনি যে পদক্ষেপে চলেছেন সেগুলি দিয়ে রেলের জন্য গ্রহণ করতে পারেন।