उपयोगकर्ता द्वारा बनाए जाने पर रीयलटाइम डेटाबेस में उपयोगकर्ता डेटा को अपडेट करने का प्रयास कर रहा है। यह मेरा कोड है:सामाजिक प्रदाता के लिए फायरबेस एथ घटनाओं के लिए क्लाउड फ़ंक्शंस
const functions = require('firebase-functions');
const promise = require('request-promise');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var omitBy = require('lodash.omitby');
var isNil = require('lodash.isnil');
'use strict';
exports.userCreated = functions.auth.user().onCreate(event => {
let request = admin.auth().getUser(event.data.uid)
.then(function(user) {
console.log("Successfully fetched user data: ", user.toJSON());
var email, firstName, lastName, photoURL;
for (var provider of user.providerData) {
if (provider.email) {
email = provider.email;
}
if (provider.photoURL) {
photoURL = provider.photoURL;
}
if (provider.displayName) {
const names = provider.displayName.split(' ');
firstName = names[0];
if (names.length > 1) {
lastName = names[names.length - 1];
}
}
}
var values = omitBy({
email: email,
first_name: firstName,
last_name: lastName,
license_agreement_version: '1.1',
image_url: photoURL
}, isNil);
admin.database().ref('users/' + user.uid).set(values);
})
.catch(function(error) {
console.error("Error Fetching User: ", error);
});
return request;
});
हालांकि, जब उपयोगकर्ता द्वारा बनाया जाता है। फेसबुक, प्रदाता डेटा प्रदान नहीं किया जाता है। यह कंसोल लॉग है:
Successfully fetched user data: { uid: 'exampleUID',
email: undefined,
emailVerified: false,
displayName: undefined,
photoURL: undefined,
disabled: false,
metadata:
{ lastSignedInAt: 2017-03-16T19:40:59.000Z,
createdAt: 2017-03-16T19:40:59.000Z },
providerData: [] }
क्या मैं कुछ गलत कर रहा हूं, या यह डेटा सृजन पर प्रदान नहीं किया जाएगा?
यदि आप कभी भी एक स्पष्टीकरण मिला है के रूप में क्यों फेसबुक और Google के लिए उपयोगकर्ता अपूर्ण है? –