2011-04-06 9 views
5

मेरे पास PHP एसडीके और कामकाजी लॉगिन के माध्यम से फेसबोक एपीआई के साथ एक कामकाजी एकीकरण है। अब मैंने निम्नलिखित कोड के साथ-साथ ईमेल के लिए अनुमति जोड़ने की कोशिश की है, लेकिन ऐप से कनेक्ट/लॉगिन करने का प्रयास करते समय ईमेल से अनुरोध नहीं किया जाता है।फेसबुक के साथ उपयोगकर्ता ईमेल प्राप्त करने की अनुमति PHP एसडीके

// login or logout url will be needed depending on current user state. 
if ($me) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(array(
    'req_perms' => 'email', 
)); 
} 

त्रुटि इस कोड में होना चाहिए क्योंकि सब कुछ ठीक काम करता है। धन्यवाद!

+0

क्या किसी के पास इसका कोई अनुभव है? – Joseph

उत्तर

1

अल्पविराम आप निकालें 'ईमेल' के बाद और $ loginUrl करने के लिए ब्राउज़र अनुप्रेषित, इस तरह:

$loginUrl = $facebook->getLoginUrl(
    array(
    'req_perms' => 'email' 
) 
); 

echo '<script>top.location="'.$loginUrl.'";</script>'; 
die(); 

संपादित

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

+1

यह काम करता है सिवाय इसके कि मुझे 'req_perms' को 'स्कोप' में बदलना पड़ा। –

+0

किसी ने इस जवाब को वोट क्यों दिया? – fredrik

+0

+1 आपके उत्तर के लिए। :) –

3

यह पीएचपी SDK के साथ काम करना चाहिए:

header('Location:'.$facebook->getLoginUrl(array(
    'scope' => 'email' 
))); 
exit; 
7
$loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'email' 
)); 

इस के लिए लॉग इन होना चाहिए यूआरएल

<a href="<?php echo $loginUrl; ?>">Login with Facebook</a> 

भी अतिरिक्त अनुमति चर गुंजाइश को भेजे जाने चाहिए

$loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'email, user_activities ' 
)); 

अतिरिक्त अनुमतियों के लिए कृपया देखें:

http://developers.facebook.com/docs/authentication/permissions/#user_friends_perms