2012-01-10 18 views
8

क्या कोई ऐसा व्यक्ति है जो फेसबुक PHP एसडीके का उपयोग कर ईमेल पते की मित्र सूची कैसे प्राप्त करता है?मैं फेसबुक मित्र सूची ईमेल पते कैसे प्राप्त कर सकता हूं?

+0

डीवी खराब अनुसंधान प्रयास के लिए, लेकिन यह एक स्पष्ट और वैध सवाल है। – djechlin

उत्तर

8

आप ऐसा नहीं कर सकते कि

http://developers.facebook.com/docs/reference/api/permissions/

email उन है कि आपके आवेदन से जुड़ा है और के लिए ही उपलब्ध क्षेत्र दे दिया है email विस्तारित अनुमति

+3

@ मैंग जोस: यदि आपका हर मित्र आपके आवेदन से जुड़ा हुआ है और उनमें से प्रत्येक ने आपको 'ईमेल' अनुमति दी है - तो आप उनके 'उपयोगकर्ता' ऑब्जेक्ट की 'ईमेल' संपत्ति प्राप्त कर सकते हैं। विस्तारित अनुमति नाम (टा-दाह) 'ईमेल' है, और आप – zerkms

+1

से ऊपर दिए गए लिंक पर विवरण प्राप्त कर सकते हैं लेकिन http://developers.facebook.com/docs/ पर विस्तारित अनुमतियों के आधार पर कोई ईमेल सूचीबद्ध नहीं है संदर्भ/एपीआई/अनुमतियां/ –

+0

@ मैंग जोस: ओह, 'विस्तारित' नहीं, लेकिन सामान्य 'उपयोगकर्ता' अनुमति। पहली तालिका – zerkms

1

इस लिंक से जानकारी प्राप्त करें:

Procedure

Statckoverflow discussion

यदि उपयोगकर्ता/मित्र ने आपकी ऐप ईमेल अनुमति नहीं दी है, संभावना है कि आप ईमेल पता प्राप्त नहीं कर पाएंगे। इस तरह के उदाहरणों के लिए, आप केवल उन मित्रों को फ़िल्टर करने का विकल्प चुन सकते हैं जिन्होंने आपकी ऐप अनुमतियां दी हैं। यह is_app_user क्षेत्र का उपयोग किया जा सकता है:

SELECT uid, first_name, last_name FROM user 
    WHERE is_app_user = 1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $userId) 

उत्तर अपडेट किया हो जाओ:

$appId  = 'YOUR_APP_ID'; 
$appSecret = 'YOUR_APP_SECRET'; 

$userId   = 'A_FACEBOOK_USER_ID'; 
$userAccessToken = 'THE_FACEBOOK_USER_ACCESS_TOKEN'; 

$client = new Facebook(array('appId' => $appId, 'secret' => $appSecret)); 

// get all friends who has given our app permissions to access their data 
$fql = "SELECT uid, first_name, last_name, email FROM user " 
    . "WHERE is_app_user = 1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $userId)"; 
$friends = $client->api(array(
    'method'  => 'fql.query', 
    'access_token' => $userAccessToken, 
    'query'  => $fql, 
)); 

// make an array of all friend ids 
$friendIds = array(); 
foreach ($friends as $friend) { 
    $friendIds[] = $friend['uid']; 
} 

// get info of all the friends without using any access token 
$friendIds = implode(',', $friendIds); 
$fql = "SELECT uid, first_name, last_name, email FROM user WHERE uid IN ($friendIds)"; 
$friends = $client->api(array(
    'method' => 'fql.query', 
    'query' => $fql, 
    // don't use an access token 
)); 

// we should now have a list of friend infos with their email addresses 
print_r($friends); 
5

नहीं है, क्षुधा दोस्त ईमेल नहीं मिल सकता है के रूप में Email Permissions दस्तावेज़ में कहा गया है। दस्तावेज़ से उद्धरण:

नोट: ऐप्स के उपयोगकर्ताओं के लिए ईमेल पते प्राप्त करने का कोई तरीका नहीं है।

+1

+1। एफबी से ही एक बयान। –

3

उपयोगकर्ता का ईमेल एक सुरक्षित संपत्ति है और उस जानकारी तक पहुंच को विशेष रूप से ऐप द्वारा अनुरोध किया जाना चाहिए और उपयोगकर्ता द्वारा प्रदान किया जाना चाहिए।

नोट: ऐप्स के उपयोगकर्ताओं के लिए ईमेल पते प्राप्त करने का कोई तरीका नहीं है।

1

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

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