2012-05-04 28 views
5

मैं फेसबुक पर किसी उपयोगकर्ता के दोस्तों के वर्तमान स्थान को खींचने का प्रयास कर रहा हूं, और एक उत्सुक समस्या में भाग रहा हूं जिसमें उनमें से कुछ दोस्त जब मैं अपने वास्तविक फेसबुक पेजों पर देख सकता हूं तो मैं पढ़ रहा हूं कि यह कहता है ", में जीवन।" इस त्रुटि का कठिन हिस्सा यह है कि यह केवल ~ 30% मामलों पर होता है। शेष मामलों में, यह सभी सही जानकारी खींचता है, जो मुझे बताता है कि अनुमतियां शायद सही तरीके से स्थापित की गई हैं।एफबी ग्राफ/एफक्यूएल: एफबी पेज एक स्थान दिखाता है जब दोस्तों का Current_location कभी-कभी शून्य पढ़ता है

विशिष्ट होना करने के लिए, FQL कोड मैं का उपयोग कर रहा है: जब जावास्क्रिप्ट अनुरोध ग्राफ को सीधे बनाने

SELECT uid, 
     name, 
     current_location 
FROM USER 
WHERE uid IN (SELECT uid2 
       FROM friend 
       WHERE uid1 = Me()) 

यह वही मुद्दे उत्पन्न हो गई है, तो यह या तो एक FQL मुद्दा हो प्रतीत नहीं होता है। क्या किसी को पता है कि क्यों मौजूदा_लोकेशन कभी-कभी असफल हो सकता है और रिपोर्ट नहीं करता है, लेकिन हमेशा नहीं?

धन्यवाद।

उत्तर

0

2 संभावनाएं हैं; जो CURRENT_LOCATION अशक्त है उपयोगकर्ता की मित्र:

1) उनके फेसबुक प्रोफाइल

2 में अपने वर्तमान स्थान निर्दिष्ट नहीं किया कि) वे अपने फेसबुक प्रोफाइल में वर्तमान स्थान निर्दिष्ट लेकिन उनकी गोपनीयता सेटिंग से इनकार करते हैं आप इसे

+0

चलाने के लिए friends_location अनुमति की आवश्यकता होगी पाने के लिए इस क्वेरी का प्रयास करता है, तो मैं अपने वर्तमान स्थान जब देख सकते हैं उन संभव स्थितियों के दोनों कर रहे हैं मैं उनके वास्तविक फेसबुक पेज पर जाता हूं? यह उनके सूचना खंड "लाइव इन ..." में सूचीबद्ध है, और फिर भी ग्राफ एपीआई वर्तमान_लोकेशन में NULL रिपोर्ट करता है। प्रोफ़ाइल में वर्तमान स्थान देखने के लिए दो अलग-अलग अनुमतियां हैं, लेकिन ग्राफ एपीआई के माध्यम से नहीं? –

+0

उस पर कुछ और चल रहा है। कभी-कभी किसी ऐप में उचित अनुमतियां होती हैं, और उपयोगकर्ता इसे देख सकता है, लेकिन ऐप नहीं कर सकता है। – Leopd

2

गोपनीयता सेटिंग्स से फेसबुक एपीआई एक उच्च प्राथमिकता दी जाती है को देखने के लिए।

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

उदा

अगर मैं अपने जन्मदिन को गोपनीयता सेटिंग पर साझा करने के लिए प्रतिबंधित हूं, तो कोई भी ऐप मेरे जन्मदिन को पकड़ने में सक्षम नहीं होगा, भले ही वे इसके लिए पूछें।

इसके अलावा, उपयोगकर्ता ऐप्स को विशेष जानकारी प्राप्त करने से प्रतिबंधित कर सकता है।

उदा उपयोगकर्ता सब कुछ वे चाहते हैं का उपयोग करने के लिए एप्लिकेशन xyz अनुमति दे सकते हैं लेकिन एक ही समय में अपने उपयोगकर्ता स्थान

मुझे आशा है कि यह आपके सवाल का जवाब तक पहुँचने के लिए एप्लिकेशन xyz सीमित कर सकते हैं।

+0

हां, एफबी उपयोगकर्ता प्रतिबंधित कर सकते हैं कि कौन से उपयोगकर्ता देख सकते हैं कि कौन सी जानकारी। लेकिन यह स्पष्ट नहीं करता है कि कोई उपयोगकर्ता जो facebook.com में जानकारी देख सकता है, वही जानकारी उस ऐप के माध्यम से नहीं देख सकती है जिसमें उपयुक्त अनुमतियां हैं। – Leopd

+1

गोपनीयता सेटिंग्स की खोज करते समय मैं वास्तव में जवाब पर ठोकर खाई। ऐसा लगता है कि फेसबुक के उपयोगकर्ताओं और ऐप्स के लिए अलग-अलग गोपनीयता सेटिंग्स हैं। विशेष रूप से, कुंजी में है: गोपनीयता सेटिंग्स -> विज्ञापन, ऐप्स और वेबसाइट्स -> लोग आपके द्वारा उपयोग किए जाने वाले ऐप्स पर आपकी जानकारी कैसे लाते हैं। मेरा मानना ​​है कि यह गैर-साझाकरण के लिए डिफ़ॉल्ट हो सकता है, जो किसी भी व्यक्ति के लिए एक बड़ी समस्या पेश करेगा जो किसी ऐप में मित्रों की जानकारी तक पहुंचना चाहता है। –

+0

हाँ, जैसा कि मैंने अपने आखिरी बिंदु में कहा था, उपयोगकर्ता ऐप्स को एक विशेष जानकारी प्राप्त करने से प्रतिबंधित कर सकते हैं। तो, कोई उपयोगकर्ता फेसबोक पर अपनी जानकारी देख सकता है लेकिन ऐप नहीं। इसके अलावा, उपयोगकर्ता केवल विशिष्ट उपयोगकर्ताओं के साथ जानकारी साझा कर सकता था, न कि सभी उपयोगकर्ताओं के साथ – Jashwant

0

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

मैंने दो अलग-अलग उपयोगकर्ताओं की जांच की है जो मेरे दोस्त हैं।

दोनों ही मामलों में FQL क्वेरी की तरह:

select uid, first_name, name, birthday, birthday_date, current_address, current_location, hometown_location, sex from user where uid in (select uid2 from friend where uid1 = me() 

रिटर्न home_location के लिए null

मैं दोनों खातों और घर की स्थिति की जांच करूँगा (सभी गोपनीयता और ऐप गोपनीयता सेटिंग्स) के लिए।

मेरी एक्सेस टोकन में सभी आवश्यक अनुमतियां शामिल थीं (घर का स्थान अन्य मित्रों के लिए दिखाया गया था)।

तब मैं क्वेरी के साथ FQL कंसोल चलाएँ:

select uid, first_name, name, birthday, birthday_date, current_address, current_location, hometown_location, sex from user where uid = nnnn 

मालिक के रूप में और परिणाम इस प्रकार थे

  • मालिक घर स्थान मिला है।
  • मेरे पुराने FQL कंसोल ब्राउज़र टैब पर - अभी भी कोई घर स्थान नहीं है।
  • मेरे नए एफक्यूएल कंसोल ब्राउज़र टैब पर - मुझे घर का स्थान मिला।

थोड़ी देर के बाद मुझे पुराने FQL कंसोल पर घर का स्थान मिला।

लेकिन पुराने प्रश्नों अभी भी घर स्थान वापस नहीं किया था ...

अमेरिकन प्लान पक्ष पर कुछ कैशिंग समस्या की तरह लगता है।

0

वही समस्या यहां। मैं अपने दोस्तों में से किसी के लिए current_location या hometown_location पुनर्प्राप्त कर सकता हूं। उनमें से ज्यादातर के लिए मैं इसे आसानी से अपनी प्रोफ़ाइल पर जाकर देख सकता हूं। ऐप अनुमतियां friends_location और friends_hometown सेट हैं।

0

अपने मित्रों की वर्तमान स्थान

SELECT first_name,uid, last_name, current_location.name 
FROM user 
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND current_location 

इसके अलावा यू इस क्वेरी