2014-07-24 22 views
6

मुझे फेसबुक ग्राफ एपीआई के माध्यम से अपने सार्वजनिक प्रोफ़ाइल से फेसबुक उपयोगकर्ता से लिंग पुनर्प्राप्त करने की आवश्यकता है।फेसबुक ग्राफ एपीआई - सार्वजनिक प्रोफ़ाइल से लिंग कैसे प्राप्त करें

दुर्भाग्य से यह हमेशा काम नहीं कर रहा है। इन उदाहरणों को देखें:

काम कर रहे: https://graph.facebook.com/1423993568

{ 
    "id": "1423993568", 
    "gender": "male", 
    ... 
} 

काम नहीं कर रहा: https://graph.facebook.com/10152133878666403

{ 
    "error": { 
     "message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api", 
     "type": "GraphMethodException", 
     "code": 100 
    } 
} 

लेकिन जब मैं वेब के माध्यम से सीधे प्रयोक्ता आईडी खोलते हैं, तो यह काम करता है, और मैं भी देख सकते हैं लिंग। ("के बारे में/संपर्क और मूल जानकारी" पर जाएं)) मैं अपने व्यक्तिगत खाते से लॉग इन हूं और इस उपयोगकर्ता के मित्र नहीं हूं! http://www.facebook.com/10152133878666403

समस्या क्या है? क्या यह फेसबुक से अनुरोध या सुरक्षा सुविधा में कोई समस्या है?

अद्यतन:

मैं इस तरह एक समाधान कर सकते हैं, लेकिन केवल तभी जब मैं अपने ब्राउज़र के साथ लॉग इन कर रहा हूँ:

app_scoped_user_id ले लो और रीडायरेक्ट URL, से फेसबुक उपयोगकर्ता नाम मिलता है जब खोलने इस अनुरोध:

http://www.facebook.com/app_scoped_user_id/10152133878666403 
    --> https://www.facebook.com/shiffoni 
    --> https://graph.facebook.com/shiffoni 

रिटर्न:

{ 
    "id": "669926402", 
    "first_name": "Shiffoni", 
    "gender": "female", 
    "last_name": "Leonhardt", 
    "locale": "de_DE", 
    "name": "Shiffoni Leonhardt", 
    "username": "shiffoni" 
} 

लिंग, असली उपयोगकर्ता आईडी, या उपनाम पाने के लिए कोई अन्य विचार?

+1

10152133878666403 एक ऐप स्कॉप्ड उपयोगकर्ता आईडी है। आपको उसी ऐप के लिए उपयोगकर्ता एक्सेस टोकन की आपूर्ति करने की आवश्यकता है, जिस ऐप को उस ऐप को उपयोगकर्ता आईडी – WizKid

+5

मिला है, क्योंकि फेसबुक.com पर कुछ सार्वजनिक है, इसका मतलब यह नहीं है कि यह सभी ऐप्स – WizKid

+0

ठीक है, समझें। - क्या कोई तरीका है कि मैं ऐप स्कोप्ड उपयोगकर्ता आईडी को सामान्य उपयोगकर्ता आईडी में कैसे अनुवाद कर सकता हूं? - सार्वजनिक जानकारी पुनर्प्राप्त करने के लिए मुझे किन अनुमतियों की आवश्यकता है? –

उत्तर

5

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

संभावित समाधानों:

  • उपयोग लिंग एपीआई (जैसे genderize.io) पहले नाम के आधार पर लिंग को पुनः प्राप्त करने।
  • फेसबुक से लिंग जानकारी को स्क्रैप करें (वेब ​​के माध्यम से लॉग इन होना चाहिए) उपयोगकर्ता के बारे में पृष्ठ से। के तहत develoers.facebook.com => उपकरण & समर्थन फेसबुक ग्राफ एपीआई का उपयोग कर इसे जांच करने के लिए
+0

अरे, क्या आप कृपया अपने ट्विटर या किसी अन्य पते को प्रधान मंत्री को छोड़ सकते हैं? धन्यवाद! – knuku

2

बेस्ट तरीका => ग्राफ़ एपीआई एक्सप्लोरर।

$fb = new Facebook(array(
'appId' => $app_id, 
    'secret' => $app_secret, 
    'cookie' => true 
)); 

$fbuser=$fb->api('/me/friends?fields=id,name,gender'); 

इसके माध्यम से आप पाश कर सकते हैं के साथ नाम & लिंग अपने सभी दोस्तों की एक सरणी देते हैं, और पुरुष & महिला मित्रों अलग करने के लिए लूप के अंदर एक शर्त डाल देंगे।

यह अधिक जानकारी के लिए मदद करता है

उम्मीद है कि यह लेख

Getting Facebook Friends with Gender

3

उपयोगकर्ता लिंग के साथ ही एपीआई संस्करण v1.0 दिया जाता है पढ़ें। दुर्भाग्यवश v1.0 30 अप्रैल, 2015 तक https://developers.facebook.com/docs/apps/changelog तक उपलब्ध है। लिंग की जांच के लिए http://www.name-gender.com/ भी काफी अच्छा एपीआई है।

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