जवाबों:
संपादित करें: 2-15-2012 यह एक स्थानीय वेबसाइट के लिए एफबी प्रमाणीकरण का उपयोग करने का तरीका है।
मुझे दूसरा फेसबुक ऐप सेट करने के लिए अधिक स्केलेबल और सुविधाजनक लगता है। यदि मैं MyApp का निर्माण कर रहा हूं, तो मैं एक दूसरा MyApp-dev नाम से बनाऊंगा।
Website
'फेसबुक के साथ आपका एप्लिकेशन कैसे एकीकृत होता है' का चयन करें के तहत चेकबॉक्स पर क्लिक करें (हाल के फेसबुक संस्करण में आप सेटिंग> बेसिक> प्लेटफॉर्म जोड़ें - फिर वेबसाइट का चयन करें) के तहत यह पा सकते हैंif Rails.env == 'विकास' || Rails.env == 'परीक्षण' Rails.application.config.middleware.use OmniAuth :: बिल्डर करते हैं प्रदाता: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' समाप्त अन्य # उत्पादन Rails.application.config.middleware.use OmniAuth :: बिल्डर करते हैं प्रदाता: फेसबुक, 'प्रोडक्शन_एपीपीआईडी', 'प्रोडक्शन_एपीपी_एसईसीआरईटी ’ समाप्त समाप्त
मैं इस पद्धति को पसंद करता हूं क्योंकि एक बार इसे स्थापित करने के बाद, सहकर्मियों और अन्य मशीनों में अतिरिक्त सेटअप नहीं होता है।
बेशक, आप बस अपने app_domain में url लोकलहोस्ट ("http" के बिना) जोड़ सकते हैं और फिर अपनी site_url http://localhost
(http के साथ) में जोड़ सकते हैं
अपडेट करें
फेसबुक अब चीजों को थोड़ा बदल देता है, बस ऐप सेटिंग्स पर जाएं और साइट यूआरएल में सिर्फ http: //localhost
ऐप डोमेन को जोड़ें और खाली छोड़ दें
यहाँ मेरा विन्यास है और यह PHP API के लिए ठीक काम करता है:
ऐप डोमेन
http://localhost
साईट यूआरएल
http://localhost:8082/
नोट: 2012 तक Facebook "लोकलहोस्ट" के पंजीकरण को Url के रूप में पंजीकृत करने की अनुमति देता है। आपको अभी भी अन्य प्रदाताओं (जैसे Microsoft एक) के लिए समान वर्कअराउंड की आवश्यकता हो सकती है।
यदि आपको फेसबुक के साथ पंजीकृत वास्तविक डोमेन नाम की आवश्यकता है (जैसे my.really.own.domain.com) तो आप स्थानीय रूप से इस डोमेन के अनुरोध को अपनी मशीन पर पुनर्निर्देशित कर सकते हैं। किसी भी OS पर सबसे आसान बॉक्स आउट ऑफ़ करने के लिए डोमेन को मैप करने के लिए "होस्ट" फाइल को 127.0.0.1 में बदलना है (देखें http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA और https: / /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file )।
मैं आमतौर पर मेरे लिए ऐसा करने के लिए फ़िडलर का उपयोग करता हूं (स्थानीय आईआईएस के साथ विंडोज पर) - http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp पर नमूने देखें ।
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
विज़ुअल स्टूडियो डेवलपमेंट सर्वर के साथ होस्ट्स की फाइल एप्रोच काम नहीं करती है क्योंकि इसमें लोकलहोस्ट / 127.0.0.1 आवक की आवश्यकता होती है। यदि आपको होस्ट को ओवरराइड करने के लिए (या संभवतः IIS एक्सप्रेस के साथ) काम करने की आवश्यकता है - IIS7 एक्सप्रेस के साथ फ़िडलर का उपयोग करना
नए विकास केंद्र के साथ यह अब आसान है:
1) ऐप डोमेन को खाली छोड़ दें।
2) प्लेटफ़ॉर्म
3 जोड़ें पर क्लिक करें ) साइट URL को आपके स्थानीय होस्ट के पूर्ण पथ के बराबर होना चाहिए।
4) परिवर्तन सहेजें
मैंने अभी एक वर्कअराउंड की खोज की है: आप http://localtunnel.com का उपयोग करके अपनी स्थानीय मशीन को सुलभ बना सकते हैं । आपको अपने ऐप कोड / html में उपयोग किए गए कुछ URL को अस्थायी डोमेन में लिंक करने (अस्थायी रूप से) में बदलने की आवश्यकता होगी, लेकिन कम से कम facebook आपकी मशीन तक पहुंच सकता है।
सेटिंग के तहत आपके ऐप की मूल सेटिंग्स ( https://developers.facebook.com/apps ) में-> मूल-> चुनें कि आपका ऐप फेसबुक से कैसे एकीकृत करता है ...
क्रमशः अपने उत्पादन और विकास URL रखने के लिए "साइट URL:" और "मोबाइल साइट URL:" का उपयोग करें। दोनों साइटों को प्रमाणित करने की अनुमति दी जाएगी। मैं सिर्फ प्रमाणीकरण के लिए फेसबुक का उपयोग कर रहा हूं, इसलिए मुझे मोबाइल साइट पुनर्निर्देशन की किसी भी सुविधा की आवश्यकता नहीं है। मैं आम तौर पर "मोबाइल साइट URL:" को अपनी "लोकलहोस्ट: 12345" साइट पर बदल देता हूं, जबकि मैं प्रमाणीकरण का परीक्षण कर रहा हूं, और तब यह सामान्य होने पर वापस सेट कर दूंगा।
वहाँ है ! जब आप एक ऐप बनाते हैं, तो मेरा समाधान काम करता है, लेकिन आप अपनी वेबसाइट पर facebook प्रमाणीकरण का उपयोग करना चाहते हैं। जब आप FB पेज पर एकीकृत एक ऐप बनाना चाहते हैं तो इस समाधान की आवश्यकता नहीं है।
बात यह है कि आप अपने ऐप के फेसबुक कॉन्फ़िगरेशन पेज में "लोकलहोस्ट" को डोमेन के रूप में नहीं डाल सकते। सुरक्षा को ध्यान में रखते हुए ?
आपको अपने होस्ट फ़ाइल में, OSX / Linux आदि / होस्ट में जाने और निम्न पंक्ति जोड़ने की आवश्यकता है: 127.0.0.1 dev.yourdomain.com
डोमेन जो आप चाहते हैं वह डाल दिया। इस लाइन को जोड़ने में एक गलती है: लोकलहोस्ट dev.yourdomain.com (कम से कम ऑक्सो स्नो लेपर्ड पर काम नहीं करता है)।
फिर आपको अपने डीएनएस कैश को साफ करना होगा। OSX पर: टर्मिनल में dscacheutil -flushcache टाइप करें । अंत में, ऑनलाइन फेसबुक डेवलपर वेबसाइट पर वापस जाएं, और अपने ऐप के कॉन्फ़िगरेशन पृष्ठ में, आप "dev.yourdomain.com" डोमेन जोड़ सकते हैं।
यदि आप Mamp, Easyphp या जो भी है, जैसे प्रोग्राम का उपयोग करते हैं, तो सुनिश्चित करें कि Apache के लिए पोर्ट 80 है।
यह समाधान विंडोज के लिए काम करना चाहिए क्योंकि इसमें एक होस्ट फ़ाइल भी है। फिर भी, जहाँ तक मुझे याद है विंडोज 7 में इस फाइल का उपयोग नहीं किया गया था, लेकिन यह ट्रिक तब काम करना चाहिए जब आपको एक होस्ट फ़ाइल का उपयोग करने के लिए विंडोज़ को मजबूर करने का तरीका मिल जाए।
आपको फेसबुक उत्पाद 'फेसबुक लॉगिन' चुनना होगा और क्लाइंट OAuth लॉगिन, 'वेब OAuth लॉगिन' और 'एंबेडेड ब्राउजर OAuth लॉगिन' को सक्षम करना होगा, तब भी अगर आप लोकलहोस्ट यूआरएल दे तो यह काम करेगा
यह HTTPS की आवश्यकता के बाद भी जून 2018 तक काम करता है। ऐसा प्रतीत होता है कि परीक्षण एप्लिकेशन को https की आवश्यकता नहीं है:
एक परीक्षण एप्लिकेशन बनाएं: https://developers.facebook.com/docs/apps/test-apps/
फिर परीक्षण ऐप के भीतर, इस वीडियो में सरल चरणों का पालन करें: https://www.youtube.com/watch?v=7DuRvffJJkg
मुझे लगता है कि आपको विज़ुअल स्टूडियो डेवलपमेंट वेब सर्वर का उपयोग करके एप्लिकेशन विकसित करने में सक्षम होना चाहिए: एक नया फेसबुक एप्लिकेशन शुरू करें: http://www.facebook.com/developer/ । फिर साइट के लिए Url और कैनवास url की सेटिंग को अपनी वेबसाइट के रनिंग इंस्टेंस पर सेट करें उदाहरण के लिए: http: // localhost: 10/5
यहाँ कुछ लिंक्स दिए गए हैं, जिनकी मदद से आपको फेसबुक से शुरू करने में मदद करनी चाहिए:
उम्मीद है की यह मदद करेगा।
इसे इस्तेमाल करे ---
https://www.facebook.com/help/community/question/?id=589302607826562
1 - ऐप्स पर क्लिक करें और फिर अपने ऐप का चयन करें।
2 - स्क्रीन के बाईं ओर सेटिंग बटन पर क्लिक करें।
3 - बेसिक सेटिंग्स में, सेटिंग्स कॉन्फ़िगरेशन के नीचे प्लेटफॉर्म ऐड बटन पर क्लिक करें।
4 - प्लेटफॉर्म डायलॉग में वेबसाइट का चयन करें।
5 - अपना URL दर्ज करें (यहां लोकलहोस्ट काम करता है)।
6 - ऐप डोमेन पाठ इनपुट में, अपने डोमेन को जोड़ें जो URL में एक से मेल खाता है।
7 - अपनी सेटिंग्स सहेजें।
मान लीजिए कि आपने अपना ऐप इस प्रकार पंजीकृत किया है:
app.domain.com
आपको बस जोड़कर / etc / मेजबान फ़ाइल को संशोधित करना होगा
127.0.0.1 dev01.app.domain.com
फिर, अपने अपाचे कॉन्फ़िगरेशन को संशोधित करें
ServerName dev01.app.domain.com
और फिर से शुरू करें।
आपको कुछ कॉल पर XML पैरामीटर के रूप में उपयोग करने के लिए अपने URL को एक चर में रखना होगा:
<fb:login-button registration-url="http://<?=$URL?>/register" />
शीर्ष वोट किए गए उत्तर पर टिप्पणी करने के लिए पर्याप्त प्रमाण नहीं है, लेकिन कम से कम मेरे रेल वातावरण (4 रनिंग) में, रेल s पर है http://localhost:3000
, नहीं http://www.localhost:3000
। जब मैंने इसे बदल दिया http://localhost:3000
, तो यह ठीक काम किया। किसी भी होस्ट फ़ाइल को संपादित करने की आवश्यकता नहीं है।
आवेदन लोकलहोस्ट में ठीक चलेगा: 3000, आपको बस उस https पते को बताना होगा, जिस पर एप्लिकेशन लाइव होगा जब यह उत्पादन मोड में होगा।
विकल्प 2 आपको यूआरएल या आप हेरोकू वेबसाइट प्रदान करता है, जो आपको उत्पादन मोड में नमूना आवेदन देता है।
नवीनतम अपडेट: यदि आपको विकास में परीक्षण कर रहे हैं तो आपको कोई यूआरएल नहीं देना होगा। आप खेतों को खाली छोड़ सकते हैं। सुनिश्चित करें कि आपका ऐप डेवलपमेंट मोड में है। यदि लाइव से स्टेटस बंद न करें।
साइट url, ऐप डोमेन या मान्य रीडायरेक्ट oauth uri प्रदान करने की आवश्यकता नहीं है।