क्यों फेसबुक लॉगिन मोडल अपने ईमेल पते के लिए उपयोग के लिए उपयोगकर्ताओं को उत्साह नहीं है?

वोट
0

मैं एक वेबसाइट में फेसबुक लॉग इन प्रवाह को एकीकृत करने के लिए कोशिश कर रहा हूँ, और मैं उपयोगकर्ता के फेसबुक ईमेल पते पर एक्सेस का अनुरोध करने के लिए प्रवेश मोडल जाने को मजबूर करने के साथ मुद्दों कर रहा हूँ।

विशेष रूप से, मैं अपने जे एस से निम्नलिखित कोड को क्रियान्वित कर रहा हूँ:

FB.login((response) => {
    if (response.status === 'connected' &&
        response.authResponse) {
        // Do something with the response here.
    }
}, {
    scope: 'email',
    return_scopes: true
});

प्रतिक्रिया जुड़ा के रूप में जब उपयोगकर्ता को सफलतापूर्वक में लॉग वापस आ रहा है, और मैं उपयोगकर्ता का उपयोगकर्ता आईडी, पहुँच टोकन, आदि हो रही है, लेकिन वे मेरी यूआई में बटन पर क्लिक करें जब कि कॉल FB.login, मोडल कि फेसबुक करता है के लिए पॉप अप होता है उपयोगकर्ता नहीं पूछते हैं कि वे अपने ईमेल पते पर पहुंच प्रदान करना चाहते। क्यों?

साइट मैं निर्माण कर रहा हूँ के लिए, मैं उपयोगकर्ता के फेसबुक ईमेल पते पर पहुंच की जरूरत है। वे पूछा करने के लिए किया जा और इनकार का उपयोग, कि एक बात है, लेकिन मोडल पॉप अप होने वाले यहां तक ​​कि उनके ईमेल पते पर पहुंच के लिए उन्हें पूछ नहीं है, और मैं जवाब में अपने ईमेल पते को वापस नहीं मिलता है तो।

इसके अलावा, अगर मैं निम्नलिखित करने के लिए बाद में एक फोन करना, emailअनुमति वापस रूप में आता है declined:

FB.api(`/${response.authResponse.userID}/permissions`, (response) => {
    console.log(response);
});

किसी को भी पता है कि कारण है कि मैं अपने ईमेल पते के लिए उपयोग के लिए उपयोगकर्ता का संकेत नहीं कर सकते है? धन्यवाद।

13/02/2020 को 22:03
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

धन्यवाद फिर से जवाब के लिए misorude करने के लिए। कि बिना, मैं इस पता लगा कभी नहीं होता। योग सब कुछ करने के लिए, समस्या यह है कि परीक्षण के दौरान, मैं जाहिरा तौर पर पहले से ही एक बार मेरा ईमेल पता करने के लिए पहुँच प्रदान करने के अनुरोध को अस्वीकार कर दिया था, और उसके बाद, यह अब मुझे अनुमति के लिए यह पहुँच के लिए कहा।

इस तरह के रूप में, आप के लिए एक अतिरिक्त पैरामीटर पारित करने के लिए है FB.loginताकि उनके ईमेल पते पर पहुंच के लिए उपयोगकर्ता को फिर से पूछने के लिए यह मजबूर करने के लिए। विशेष रूप से, यह है authTypeपैरामीटर, और यहाँ है कि कैसे आप इसे पारित है:

FB.login((response) => {
    if (response.status === 'connected' &&
        response.authResponse) {
        // Do something with the response here.
    }
}, {
    scope: 'email',
    authType: 'rerequest'
});

यही कारण है कि आप ईमेल पते पर पहुँच प्रदान करेगा (एक उपयोगकर्ता यह सोचते है एक पंजीकृत; फिर, कि ध्यान देने योग्य बात के लिए misorude करने के लिए धन्यवाद), लेकिन यह वास्तव में ईमेल पता वापस नहीं करता है। कि पाने के लिए आपको तो करने के लिए एक एपीआई अनुरोध भेजने के लिए है /meएक साथ fieldsपैरामीटर इसे पाने के लिए ईमेल पते का अनुरोध। मैं पता लगा निम्नलिखित तो जवाब के माध्यम से है कि प्राप्त करने के लिए कैसे: https://stackoverflow.com/a/31763373/1992973

विशेष रूप से, एक पूर्ण समाधान निम्नलिखित की तरह कुछ है:

FB.login((response) => {
    if (response.status === 'connected' &&
        response.authResponse) {
        FB.api('/me?fields=email', (response) => {
            // The email should be in the response, assuming the user has one registered with FB.
        });
    }
}, {
    scope: 'email',
    authType: 'rerequest'
});
14/02/2020 को 14:45
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more