ระบุ ID แอพ Facebooker ตามโดเมน

ฉันมีเว็บไซต์ RoR ที่ domain1.com ที่ใช้แอปพลิเคชัน Facebook ที่เชื่อมโยงกับโดเมนนั้น

ฉันต้องการให้ domain2.com ชี้ไปที่เซิร์ฟเวอร์เดียวกันกับ domain1.com ดังนั้น domain1.com/foo จึงเทียบเท่ากับ domain2.com/foo

แน่นอน (ฉันคิดว่า) ฉันจำเป็นต้องสร้างแอปพลิเคชัน Facebook ตัวที่สอง เนื่องจากแอปพลิเคชันที่เชื่อมโยงกับ domain1.com จะไม่ทำงานหากพวกเขาเยี่ยมชมไซต์ภายใต้ domain2.com

อย่างไรก็ตาม ฉันไม่รู้วิธีบอก facebooker2 ใน facebooker.yml ให้ใช้แอปพลิเคชันหนึ่งหากคำขอมาจากโฮสต์หนึ่งหรือแอปอื่นหากมาจากอีกโฮสต์หนึ่ง

มีวิธีใดบ้างในการทำเช่นนี้หรือทำอะไรบางอย่างที่ได้ผลลัพธ์เดียวกัน?


person B_.    schedule 15.01.2011    source แหล่งที่มา


คำตอบ (1)


Facebooker2 ไม่มีการสนับสนุนในตัวสำหรับสิ่งนี้ แต่คุณสามารถรองรับได้!

คุณจะต้องแทนที่ฟังก์ชันบางอย่างในไฟล์นี้:

facebooker2/lib/facebooker2.rb

โดยเฉพาะวิธีนี้:

def self.load_facebooker_yaml
  config = YAML.load(ERB.new(File.read(File.join(::Rails.root,"config","facebooker.yml"))).result)[::Rails.env]
  raise NotConfigured.new("Unable to load configuration for #{::Rails.env} from facebooker.yml. Is it set up?") if config.nil?
  self.configuration = config.with_indifferent_access
end

เปลี่ยนบรรทัดแรกเป็นพูดว่า:

config = YAML.load(ERB.new(File.read(File.join(::Rails.root,"config","facebooker.yml"))).result)[::Rails.env][::request.domain]

จากนั้นเพิ่มระดับใหม่ให้กับไฟล์ facebooker.yml ของคุณ ดังนี้:

production:
  domain1.com:
    app_id: ####
    secret: #####
    aki_key: #####
  domain2.com
    app_id: ####
    secret: #####
    aki_key: #####
development:
  localhost:
    app_id: ####
    secret: #####
    aki_key: #####

แจ้งให้เราทราบว่ามันไปอย่างไร

person Marshall Æon    schedule 16.01.2011
comment
โปรดทราบว่าคุณไม่ควรแก้ไขปลั๊กอินโดยตรงเพื่อให้สามารถอัปเกรดได้ในภายหลัง คุณควรสร้างไฟล์ lib ของคุณเอง - person Marshall Æon; 17.01.2011
comment
ฉันกำลังรอที่จะยอมรับคำตอบนี้จนกระทั่งหลังจากที่ฉันได้ลองแล้ว แต่ดูเหมือนว่าฉันจะไม่ได้ใช้งานหลายแอปพลิเคชันมาระยะหนึ่งแล้ว ถึงกระนั้น ดูเหมือนว่าจะเป็นคำตอบที่มั่นคง ดังนั้นฉันจะยอมรับมันโดยยังไม่ทดลอง ขอบคุณ - person B_.; 15.02.2011