2010-05-03 17 views
9

इंटरनेट के साथ एक मिडलवेयर सिस्टम (जो set-top box के अंदर काम करता है) के लिए मैं एक आदिम फेसबुक इंटरफ़ेस विकसित करना चाहता हूं जहां उपयोगकर्ता अपने उपयोगकर्ता नाम और पासवर्ड टाइप कर सकते हैं, जिसमें उनकी नवीनतम अधिसूचना, संदेश और अन्य आरामदायक हाल ही में Facebook Graph API का उपयोग करके टीवी स्क्रीन पर सामान।ब्राउज़र के बिना फेसबुक ओपन ग्राफ

यह मिडलवेयर प्रोग्राम प्रोग्राम चलाने के लिए जावा एमई का उपयोग करता है (जैसे यह सरल फेसबुक ऐप) और यह इंटरनेट से कनेक्ट हो सकता है हालांकि इसमें वास्तविक वेब ब्राउज़र नहीं है। ब्राउज़र के बिना यह JSON प्रतिक्रिया पुनर्प्राप्त करने के लिए किसी भी यूआरएल से कनेक्ट हो सकता है हालांकि मुझे यकीन नहीं है कि वास्तविक ब्राउज़र के बिना प्रमाणीकरण कैसे प्राप्त किया जाए।

इस परिस्थिति में, क्या यह संभव है फेसबुक प्रमाणीकरण? यदि आप ऐसा सोचते हैं, तो आप किस दृष्टिकोण का सुझाव देंगे?

धन्यवाद

उत्तर

0

पर इस दस्तावेज़ के अनुसार, "Desktop Application Authentication" मैं नहीं मानता कि अपने वांछित परिणाम संभव है:

फेसबुक का OAuth कार्यान्वयन स्पष्ट डेस्कटॉप अनुप्रयोग समर्थन शामिल नहीं है। हालांकि, यदि आपका डेस्कटॉप एप्लिकेशन एक वेब ब्राउज़र एम्बेड कर सकता है, तो आप जावास्क्रिप्ट क्लाइंट द्वारा उपयोग किए जाने वाले उसी ओएथ उपयोगकर्ता-एजेंट फ़्लो का उपयोग करके आसानी से अपने एप्लिकेशन में फेसबुक समर्थन जोड़ सकते हैं।

हालांकि, यह स्पष्ट रूप से संभव है कुछ विक्रेताओं यह करने के लिए के लिए, के बाद से माइक्रोसॉफ्ट के Xbox 360 फेसबुक आवेदन आप वास्तव में क्या प्रस्ताव कर रहे हैं नहीं करता है। मुझे यह देखने में दिलचस्पी होगी कि किसी ने ऐसा करने के लिए कोई एपीआई खोला है कि फेसबुक अपने सबसे स्पष्ट दस्तावेज में नहीं चाहता है।

+0

माइक्रोसॉफ्ट की फेसबुक में प्रतिशत हिस्सेदारी है। एक अन्य मुख्य कंसोल (कथित तौर पर) में एक समर्पित एसडीके भी है - लेकिन मैंने इसे देखा है। –

+0

@ क्रिस, मुझे संदेह है कि फेसबुक के लिए संभावित लाभ माइक्रोसॉफ्ट की [1.6% हिस्सेदारी] (http://en.wikipedia.org/wiki/Facebook#History) की तुलना में इसके साथ अधिक है – Nicole

0

यह कोई जवाब नहीं है लेकिन मैं वही काम करने की कोशिश कर रहा हूं। .. cory wiles blog

आप यह पता लगा तो एक विस्तृत जवाब यहां पोस्ट करें तो मैं इसे करने के लिए क्या कर सकते हैं :)

0

मुझे लगता है कि यह संभव है: इस आदमी के ब्लॉग जो अनुरोध प्रॉक्सी के लिए एक और सर्वर का उपयोग करता की जाँच करें हालांकि यह बहुत जटिल है और फेसबुक इंटरफ़ेस के अचानक परिवर्तनों के अधीन है। यह आपके और फेसबुक के बीच समझौते को तोड़ सकता है।

फेसबुक का अनुकरण करने के लिए आप क्या करते हैं।

एक रास्ता आपको एक फेसबुक एप्लिकेशन स्थापित करना है। एक बार जब आप उपयोगकर्ता से प्राधिकरण प्राप्त कर लेते हैं, तो आप ग्राफ एपीआई के साथ कुछ कर सकते हैं।

आपको फेसबुक लॉग-इन प्रक्रिया और प्राधिकरण प्रक्रिया की आवश्यकता है। Http/https अनुरोध और प्रतिक्रिया पर कुछ कैप्चरिंग टूल हैं। हेडर और बॉडी दोनों का विश्लेषण करें।

एक बार जब आप प्राधिकरण तंत्र को जानते हैं, तो आप इसे अपने साथ बदल सकते हैं। बाद में सब कुछ ग्राफ एपीआई पर है।

एक और तरीका फेसबुक लॉगिन और संदेश और अधिसूचना प्रक्रिया का अनुकरण करना है। कैप्चरिंग और विश्लेषण की आवश्यकता है।

0

अतीत में मैंने फेसबुक पर लॉग इन स्वचालित करने के लिए screen-scraper (पूर्ण प्रकटीकरण: मैं वहां काम करता था) नामक टूल का उपयोग किया है। असल में, यह एक ब्राउज़र सत्र का अनुकरण करता है; यह आपको सत्र चर सेट करने की अनुमति देता है (यानी उपयोगकर्ता नाम, पासवर्ड) जिसे फेसबुक पर सबमिट किया जाएगा, जैसे कि उपयोगकर्ता ने उन्हें ब्राउज़र में सबमिट किया था।

आप अपने सेट-टॉप बॉक्स वातावरण में स्क्रीन-स्क्रैपर का उपयोग करने में सक्षम नहीं हो सकते हैं (हालांकि यह जावा-आधारित है, इसलिए यह संभव है कि यह काम करेगा)। यहां तक ​​कि यदि ऐसा नहीं होता है, तो आप जावा में एक समान रणनीति को कार्यान्वित कर सकते हैं, HTTP कॉल करने वाले ब्राउज़र को लॉगिन पृष्ठ लोड करने और उपयोगकर्ता के प्रमाण-पत्र सबमिट करने के लिए किया जाएगा। उपयोगकर्ता की जानकारी को सुरक्षित रखने के लिए सुनिश्चित करें कि आपके द्वारा उपयोग की जाने वाली HTTP क्लाइंट लाइब्रेरी HTTPS का समर्थन करती है।

Charles, Fiddler2, फ़ायरबग, क्रोम के देव उपकरण इत्यादि जैसे प्रॉक्सी टूल और एक्सटेंशन, यह देखने में सहायक होते हैं कि ब्राउजर अनुरोध में सर्वर को क्या भेज रहा है।

3

फेसबुक उपयोगकर्ता नाम/पासवर्ड से ओएथ 2 टोकन प्राप्त करने के लिए एक निजी प्राधिकरण API के साथ विश्वसनीय भागीदारों को प्रदान करता है।

एक अधिक जटिल दृष्टिकोण कैसे Netflix एक डिवाइस का नामांकन के लिए इसी तरह कुछ कर रही हो जाएगा:

  1. डिवाइस एक कोड प्राप्त करने के लिए सर्वर कॉल
  2. डिवाइस स्क्रीन पर कोड से पता चलता है और उपयोगकर्ता के निर्देशन सर्वर पर यूआरएल के लिए जाने के लिए और प्रवेश कोड
  3. सर्वर फेसबुक पर रीडायरेक्ट और OAuth टोकन प्राप्त करता है, उपयोगकर्ता डिवाइस के लिए वापस जाने के लिए कहा
  4. डिवाइस कोड के साथ सर्वर कॉल और OAuth टोकन प्राप्त
  5. डिवाइस अब उपयोगकर्ता की ओर से सीधे कॉल कर सकता है
+0

यही वह है जो मैं अनुशंसा करता हूं भी: क्या आपके डिवाइस के प्रत्येक उदाहरण में कुछ प्रकार का सीरियल नंबर है; क्या उपयोगकर्ता आपकी वेबसाइट पर लॉग इन करता है, और उस डिवाइस को उनके डिवाइस के सीरियल नंबर से जोड़ता है, फिर डिवाइस अपनी वेबसाइट से संपर्क करें और इसे फेसबुक एपीआई – Igy

+0

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

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