2010-08-19 6 views
13

मैं अपने ऐप को उपयोगकर्ताओं की दीवार पर संदेश प्रकाशित करने के लिए एफबीजीआरफ़ का उपयोग करने की कोशिश कर रहा हूं। हालांकि, सभी एपीआई मेरे लिए विदेशी हैं और मैं बस चीजों को बदलने की कोशिश कर रहा हूं और देख रहा हूं कि क्या होता है। अभी, मैं यह त्रुटि संदेशरेल पर ओपनग्राफ एपीआई (एफबीजीआरपी)

हो रही है
{ 
    "error": { 
     "type": "OAuthException", 
     "message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration." 
    } 
} 

किसी को भी पता है क्या यह redirect_uri द्वारा मतलब है? फेसबुक पर मेरे एप्लिकेशन सेटिंग्स पेज पर यह क्या होगा?

+0

आप कुछ कोड प्रदान करते हैं, तो यह आसान होगा जवाब देने के लिए। – serg

उत्तर

13

मैं एक फेसबुक विशेषज्ञ नहीं हूं, लेकिन कुछ घंटे पहले जब मैंने फेसबुक के साथ एक वेब एप्लिकेशन के अंदर एक उपयोगकर्ता को लॉगिन करने का प्रयास किया था, तो मैंने वही समस्या ठीक कर दी थी।

ऐसा लगता है कि आपके द्वारा अपने कॉल में निर्दिष्ट रीडायरेक्ट_री "https://graph.facebook.com/oauth/authorize" आपके डोमेन के कनेक्ट यूआरएल के समान डोमेन पर होना चाहिए। (आप अपने आवेदन की सेटिंग में कनेक्ट करें अनुभाग से कि कनेक्ट यूआरएल सेट कर सकते हैं)

सादर, फ्लोरिन

+0

अगर वे कॉलबैक को प्रतिबंधित करते हैं, तो वे एकाधिक कनेक्ट यूआरएल की अनुमति क्यों नहीं देते हैं ?? काश वे एक एकल प्रविष्टि पाठ बॉक्स के बजाय इसे एक प्रबंधनीय सूची बना देंगे। – Kieveli

20

फ्लोरिन सही है। बस एक टिप्पणी यहाँ .. जब स्थानीय स्तर पर परीक्षण आप के लिए यह निर्धारित करने के लिए की आवश्यकता होगी:

http://localhost:3000/ (या जो भी अपने अनुप्रयोग सर्वर पोर्ट है) जब आप, उत्पादन पर ले जाते हैं अपने नियमित रूप से यूआरएल के लिए सेट

तब:

http://yourdomain.com/

मुझे लगता है कि मैं विकास का परीक्षण करने में उपयोग के लिए एक अलग फेसबुक एप्लिकेशन है, तो मैं आगे पीछे उन दोनों के बीच परिवर्तित करने के लिए नहीं है और मैं एक सेटिंग फ़ाइल, है जिसमें कुंजी की स्थापना की मेरी विकास और उत्पादन क्षुधा के लिए टोकन।

वैसे भी, ऐसा लगता है कि आप लगभग वहां हैं। यह इसे कम से कम कॉलबैक यूआरएल पर वापस कर रहा है। एक बार जब आप facebook_connect URL

+1

मैंने इस समाधान की कल्पना की, और मुझे किसी भी तरह से उत्पादन तैनाती में देव कुंजी छोड़ने की कल्पना की। – Kieveli

+0

प्रति पर्यावरण अनुप्रयोग चर चर के लिए एक प्लगइन का उपयोग करें। मेरी प्लगइन आज़माएं -> https://github.com/cowboycoded/yettings यह आपको अपने डेटाबेस.एमएलएल की तरह एक वाईएएमएल फ़ाइल का उपयोग करने की अनुमति देगा और यह उस सर्वर के आधार पर सही कुंजी/मानों को चुन देगा जो आप सर्वर को शुरू करते हैं। – johnmcaliley

+6

आपको दो कॉन्फ़िगरेशन की आवश्यकता नहीं है। यदि आप अपना साइट डोमेन yourdomain.com पर सेट करते हैं तो फेसबुक किसी भी सबडोमेन के लिए प्रमाणीकरण की अनुमति भी देगा। अपनी स्थानीय मेजबान फ़ाइल में आप एक प्रविष्टि जोड़ सकते हैं जो 127.0.0.1 को localhost.yourdomain.com पर मानचित्रित करता है। फिर अपने ब्राउज़र में आप http://localhost.yourdomain.com :{port}/ का उपयोग करते हैं और सब कुछ ठीक काम करेगा। –

0

अपडेट करें तो बस ठीक होना चाहिए, बस अपना 'एप्लिकेशन आईडी' सत्यापित करें। मेरे मामले में मुझे यह समस्या थी क्योंकि मैं अपने अन्य प्रोजेक्ट से आईडी का उपयोग कर रहा था जिस पर मैं काम कर रहा था। काफी स्पष्ट लेकिन मैं कुछ समय खो दिया।

0

मैं करना था यकीन है कि मैं वहाँ भी में गुंजाइश थी:

config.omniauth :facebook, 'xxxx', 'xxx', :scope => 'offline_access,email,publish_stream' 

प्लस क्या वाक़ई आप क्योंकि यह प्रचार करने के लिए समय ले करता है कुछ मिनटों के इंतजार करने की जरूरत है ..

1

अपनी सेटिंग्स> बेसिक> मूल जानकारी> ऐप डोमेन की जांच करने की आवश्यकता हो सकती है। मेरा मानना ​​है कि टोपी को रीडायरेक्ट_री के लिए भी सही ढंग से सेट करने की जरूरत है।

1

मुझे एक ही समस्या थी।

मेरे मामले में, मैंने फेसबुक पर साइट यूआरएल कॉन्फ़िगर किया था: "http: // localhost: 3000", यह फेसबुक के लिए एक गलत यूआरएल था।

कारण url के अंत में की कमी/है यह है, तो सही साइट यूआरएल होना चाहिए: "http: // localhost: 3000 /"

संबंधित मुद्दे