लोकलहोस्ट में फेसबुक का विकास


177

बस मैं जानना चाहता था कि क्या कोई तरीका है जिससे मैं लोकलहोस्ट में फेसबुक एप्लिकेशन विकसित कर सकूं।

जवाबों:


246

संपादित करें: 2-15-2012 यह एक स्थानीय वेबसाइट के लिए एफबी प्रमाणीकरण का उपयोग करने का तरीका है।

मुझे दूसरा फेसबुक ऐप सेट करने के लिए अधिक स्केलेबल और सुविधाजनक लगता है। यदि मैं MyApp का निर्माण कर रहा हूं, तो मैं एक दूसरा MyApp-dev नाम से बनाऊंगा।

  • Https://developers.facebook.com/apps पर एक नया ऐप बनाएं
  • (नया 2/15/2012)Website 'फेसबुक के साथ आपका एप्लिकेशन कैसे एकीकृत होता है' का चयन करें के तहत चेकबॉक्स पर क्लिक करें (हाल के फेसबुक संस्करण में आप सेटिंग> बेसिक> प्लेटफॉर्म जोड़ें - फिर वेबसाइट का चयन करें) के तहत यह पा सकते हैं
  • Http: //www.localhost: 3000 के लिए साइट URL फ़ील्ड ( ऐप डोमेन फ़ील्ड नहीं ) सेट करें (यह पता रूबी ऑन रेल्स के लिए है, आवश्यकतानुसार बदलें)

यहां छवि विवरण दर्ज करें

  • अपने एप्लिकेशन इनिशलाइज़र में, पर्यावरण का पता लगाने के लिए कोड में रखें
    • सैंपल रेल 3 कोड
      if Rails.env == 'विकास' || Rails.env == 'परीक्षण'
        Rails.application.config.middleware.use OmniAuth :: बिल्डर करते हैं
          प्रदाता: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET'
        समाप्त
      अन्य
        # उत्पादन
        Rails.application.config.middleware.use OmniAuth :: बिल्डर करते हैं
          प्रदाता: फेसबुक, 'प्रोडक्शन_एपीपीआईडी', 'प्रोडक्शन_एपीपी_एसईसीआरईटी ’
        समाप्त
      समाप्त
      

मैं इस पद्धति को पसंद करता हूं क्योंकि एक बार इसे स्थापित करने के बाद, सहकर्मियों और अन्य मशीनों में अतिरिक्त सेटअप नहीं होता है।


3
+ 1 यह अजीब है! लोग कहते हैं कि आप अपने ऐप url के रूप में लोकलहोस्ट नहीं जोड़ सकते। लेकिन यह बस मेरे लिए काम करता है। धन्यवाद!
कीनी वियाना

15
क्या अब भी आपके लिए यही है? मुझे लगता है कि मैं लोकलहोस्ट, या 127.0.0.1 .000 या फेसबुक के लिए अपने ऐप डोमेन के समान कुछ भी नहीं जोड़ पा रहा हूं।
पीट

मैंने बस एक नया बनाने की कोशिश की और 'अमान्य डोमेन' समस्या में भाग गया। पकड़ने के लिए धन्यवाद
एरिक हू

1
@zoltarSpeaks मेरा अद्यतन उत्तर देखें। आपको एक अलग क्षेत्र का उपयोग करना है, न कि "ऐप डोमेन"
एरिक हुआ

1
क्या यह शुरुआती / devise.rb के config.omniauth: facebook, 'APP_KEY', 'APP_SECRET':: गुंजाइश => "ईमेल, offline_access .." को ओवरराइड करेगा?
गायब हो गया

26

बेशक, आप बस अपने app_domain में url लोकलहोस्ट ("http" के बिना) जोड़ सकते हैं और फिर अपनी site_url http://localhost(http के साथ) में जोड़ सकते हैं

अपडेट करें

फेसबुक अब चीजों को थोड़ा बदल देता है, बस ऐप सेटिंग्स पर जाएं और साइट यूआरएल में सिर्फ http: //localhostऐप डोमेन को जोड़ें और खाली छोड़ दें


यह पूरी तरह से काम करता है। बाड़ की हमारी तरफ से किसी चीज की कोई जरूरत नहीं है।
गॉडस्पीडेलबो

10
यह तब काम नहीं करता है जब आप त्रुटि प्राप्त कर सकते हैं शीर्ष स्तरीय डोमेन नहीं जोड़ सकते हैं
जोश बेदो

20

यहाँ मेरा विन्यास है और यह PHP API के लिए ठीक काम करता है:

ऐप डोमेन

   http://localhost

साईट यूआरएल

   http://localhost:8082/

1
काम करने के लिए
स्थानीयहोस्ट के

19

नोट: 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 एक्सप्रेस के साथ फ़िडलर का उपयोग करना


9

फेसबुक ने अब FBML फेसबुक अनुप्रयोगों के लिए 'लोकलहोस्ट' कॉलबैक URL की अनुमति नहीं दी है


सुनिश्चित करें कि आपकी फेसबुक सुरक्षा सेटिंग्स में, आपके पास 'सिक्योर ब्राउजिंग' अक्षम है। यह सक्षम होने पर आपकी लोकलहोस्ट को अनुपलब्ध कर देगा।
सुपजब

9

नए विकास केंद्र के साथ यह अब आसान है:

1) ऐप डोमेन को खाली छोड़ दें।
2) प्लेटफ़ॉर्म
3 जोड़ें पर क्लिक करें ) साइट URL को आपके स्थानीय होस्ट के पूर्ण पथ के बराबर होना चाहिए।
4) परिवर्तन सहेजें


1
सत्यापित यह एक लोकलहोस्ट इंस्टॉल के लिए जाने का सबसे अच्छा तरीका है। बस अपने विकास के वातावरण पर आधार URL डालें जैसे कि http: // के बिना और फेसबुक इसे आपके लिए जोड़ देगा। साधारण सामान! धन्यवाद जय
कादे

1
उस समाधान ने मेरी समस्या को हल किया जब लोकलहोस्ट पर चल रहा था
रोला

8

मैंने अभी एक वर्कअराउंड की खोज की है: आप http://localtunnel.com का उपयोग करके अपनी स्थानीय मशीन को सुलभ बना सकते हैं । आपको अपने ऐप कोड / html में उपयोग किए गए कुछ URL को अस्थायी डोमेन में लिंक करने (अस्थायी रूप से) में बदलने की आवश्यकता होगी, लेकिन कम से कम facebook आपकी मशीन तक पहुंच सकता है।


7

सेटिंग के तहत आपके ऐप की मूल सेटिंग्स ( https://developers.facebook.com/apps ) में-> मूल-> चुनें कि आपका ऐप फेसबुक से कैसे एकीकृत करता है ...

क्रमशः अपने उत्पादन और विकास URL रखने के लिए "साइट URL:" और "मोबाइल साइट URL:" का उपयोग करें। दोनों साइटों को प्रमाणित करने की अनुमति दी जाएगी। मैं सिर्फ प्रमाणीकरण के लिए फेसबुक का उपयोग कर रहा हूं, इसलिए मुझे मोबाइल साइट पुनर्निर्देशन की किसी भी सुविधा की आवश्यकता नहीं है। मैं आम तौर पर "मोबाइल साइट URL:" को अपनी "लोकलहोस्ट: 12345" साइट पर बदल देता हूं, जबकि मैं प्रमाणीकरण का परीक्षण कर रहा हूं, और तब यह सामान्य होने पर वापस सेट कर दूंगा।


5

वहाँ है ! जब आप एक ऐप बनाते हैं, तो मेरा समाधान काम करता है, लेकिन आप अपनी वेबसाइट पर 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 में इस फाइल का उपयोग नहीं किया गया था, लेकिन यह ट्रिक तब काम करना चाहिए जब आपको एक होस्ट फ़ाइल का उपयोग करने के लिए विंडोज़ को मजबूर करने का तरीका मिल जाए।


// net-internals / # dns: win8.1 ग के लिए काम करता है: \ windows \ system32 \ drivers \ etc \ मेजबान है.आप क्रोम यूआरएल = क्रोम में फ्लश 'होस्ट रिसोल्वर कैश' की आवश्यकता हो सकती
rnrneverdies

5

आपको फेसबुक उत्पाद 'फेसबुक लॉगिन' चुनना होगा और क्लाइंट OAuth लॉगिन, 'वेब OAuth लॉगिन' और 'एंबेडेड ब्राउजर OAuth लॉगिन' को सक्षम करना होगा, तब भी अगर आप लोकलहोस्ट यूआरएल दे तो यह काम करेगा यहां छवि विवरण दर्ज करें


इससे समस्या को हल करने में मदद मिली। 23/02/2018 से एफबी का संदेश: मार्च में, हम आपकी ऐप सेटिंग में एक सुरक्षा अपडेट कर रहे हैं जो URI के कॉल को अमान्य कर देगा, जो मान्य OAuth रीडायरेक्ट URIs फ़ील्ड में नीचे सूचीबद्ध नहीं है। यह अद्यतन दुर्भावनापूर्ण गतिविधि के जवाब में आता है हमने अपने प्लेटफ़ॉर्म पर देखा, और हम URI के लिए एक नए सख्त मोड की आवश्यकता के द्वारा आपके ऐप या वेबसाइट की सुरक्षा करना चाहते हैं।
टिम टायलर

1
Fb को अब कॉलबैक के लिए https की आवश्यकता है। लोकलहोस्ट https का समर्थन नहीं करता है।
हुतांग

1
@ वुथांग इसलिए इस पूरे क्यू / ए को पदावनत किया जाता है।
आरजीबी

4

यह HTTPS की आवश्यकता के बाद भी जून 2018 तक काम करता है। ऐसा प्रतीत होता है कि परीक्षण एप्लिकेशन को https की आवश्यकता नहीं है:

एक परीक्षण एप्लिकेशन बनाएं: https://developers.facebook.com/docs/apps/test-apps/

फिर परीक्षण ऐप के भीतर, इस वीडियो में सरल चरणों का पालन करें: https://www.youtube.com/watch?v=7DuRvffJJkg


3

मुझे लगता है कि आपको विज़ुअल स्टूडियो डेवलपमेंट वेब सर्वर का उपयोग करके एप्लिकेशन विकसित करने में सक्षम होना चाहिए: एक नया फेसबुक एप्लिकेशन शुरू करें: http://www.facebook.com/developer/ । फिर साइट के लिए Url और कैनवास url की सेटिंग को अपनी वेबसाइट के रनिंग इंस्टेंस पर सेट करें उदाहरण के लिए: http: // localhost: 10/5

यहाँ कुछ लिंक्स दिए गए हैं, जिनकी मदद से आपको फेसबुक से शुरू करने में मदद करनी चाहिए:

  1. http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-develop// ,
  2. http://nagbaba.blogspot.com/2010/05/experiencing-facebook-javascript-sdk.html ,
  3. http://apps.facebook.com/thinkdiffdemo/

उम्मीद है की यह मदद करेगा।


3

इसे इस्तेमाल करे ---

https://www.facebook.com/help/community/question/?id=589302607826562

1 - ऐप्स पर क्लिक करें और फिर अपने ऐप का चयन करें।

2 - स्क्रीन के बाईं ओर सेटिंग बटन पर क्लिक करें।

3 - बेसिक सेटिंग्स में, सेटिंग्स कॉन्फ़िगरेशन के नीचे प्लेटफॉर्म ऐड बटन पर क्लिक करें।

4 - प्लेटफॉर्म डायलॉग में वेबसाइट का चयन करें।

5 - अपना URL दर्ज करें (यहां लोकलहोस्ट काम करता है)।

6 - ऐप डोमेन पाठ इनपुट में, अपने डोमेन को जोड़ें जो URL में एक से मेल खाता है।

7 - अपनी सेटिंग्स सहेजें।


2

मान लीजिए कि आपने अपना ऐप इस प्रकार पंजीकृत किया है:

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" />

2

शीर्ष वोट किए गए उत्तर पर टिप्पणी करने के लिए पर्याप्त प्रमाण नहीं है, लेकिन कम से कम मेरे रेल वातावरण (4 रनिंग) में, रेल s पर है http://localhost:3000, नहीं http://www.localhost:3000। जब मैंने इसे बदल दिया http://localhost:3000, तो यह ठीक काम किया। किसी भी होस्ट फ़ाइल को संपादित करने की आवश्यकता नहीं है।


2

app domain : localhost

site URL : http://localhost:4440/

मेरे लिए नए UI के साथ काम किया।


0

मेरा समाधान लोकलहोस्ट में ठीक काम करता है ..... साइट यूआरएल के उपयोग के लिए http://localhost/ और ऐप डोमेन के लिए उपयोग करें। localhost/folder_name बाकी सब कुछ समान है ....... यह ठीक काम करता है (हालांकि ऐप डोमेन में इसका रीडफ़्लग दिखाता है। यह ठीक काम कर रहा है)


0

यह फेसबुक लॉगिन टैब क्लिक सेटिंग्स के तहत ऐप डैशबोर्ड पर जाना आसान है, फिर एनफोर्स नॉट इन्फोल्स नॉट, सेटिंग्स को चुनेंयहां छवि विवरण दर्ज करें


0

आवेदन लोकलहोस्ट में ठीक चलेगा: 3000, आपको बस उस https पते को बताना होगा, जिस पर एप्लिकेशन लाइव होगा जब यह उत्पादन मोड में होगा।
विकल्प 2 आपको यूआरएल या आप हेरोकू वेबसाइट प्रदान करता है, जो आपको उत्पादन मोड में नमूना आवेदन देता है।

यहां छवि विवरण दर्ज करें


0

नवीनतम अपडेट: यदि आपको विकास में परीक्षण कर रहे हैं तो आपको कोई यूआरएल नहीं देना होगा। आप खेतों को खाली छोड़ सकते हैं। सुनिश्चित करें कि आपका ऐप डेवलपमेंट मोड में है। यदि लाइव से स्टेटस बंद न करें।

साइट url, ऐप डोमेन या मान्य रीडायरेक्ट oauth uri प्रदान करने की आवश्यकता नहीं है।

यहां छवि विवरण दर्ज करें


1
ध्यान दें कि यदि आप अपने ऐप को "लाइव" से "डेवलपमेंट" में बदल देते हैं, तो आप लोकलहोस्ट से डेवलपमेंट मशीन पर लॉगइन कर पाएंगे, लेकिन आपके सभी LIVE USERS अब लॉग इन नहीं कर पाएंगे।
webdevbyjoss

मैंने यह किया है और इसने मुझे अभी भी त्रुटि दी है और fb बटन दिखाई नहीं देगा
joslinm

एप्लिकेशन बनाने के बाद सिर्फ विकास / परीक्षण के लिए एक ऐप प्राप्त करने के लिए "टेस्ट टेस्ट बनाएं" बटन पर क्लिक करें। मुझे अभी भी एप्लिकेशन डोमेन में "लोकलहोस्ट" जोड़ने की आवश्यकता है।
कोई नहीं

@ J.Money मुझे लगता है कि यह अब तक बदल सकता है। मुझे बताने के लिए धन्यवाद।
विघ्नेश्वरन शिवलिंगम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.