Я новичок в firebase администратора SDK и пытается заставить его работать на моем angularjs приложения, используя и следующие шаги here и this here:
я правильно настроить мой firebase администратора SDK и инициализировать его, как это в server.js
файл на моем сервере узла:
var admin = require("firebase-admin");
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<DATABASE_NAME>.firebaseio.com"
});
app.post('/.firebase-user', function (req, res, nex) {
admin.auth().getUser(req.body.uid)
.then(function (userRecord) {
// See the tables below for the contents of userRecord
console.log("Successfully fetched user data:", userRecord.toJSON());
})
res.status(200).send({data: userRecord.toJSON()});
return nex();
.catch(function (error) {
console.log("Error fetching user data:", error);
res.status(117);
return nex();
});
});
теперь я хочу, чтобы получить доступ к userRecord.toJSON()
внутри моего контроллера:
$http.post('/.firebase-user', {uid: firebase.auth().currentUser.uid})
.then(function(response) {
console.log($scope.data, response.userRecord);
});
Но это не печать userRecord.toJSON()
, а я true undefined
в консоли. Пожалуйста, помогите мне получить информацию обратно в моем приложении. благодаря
Вы правы, я забыл упомянуть о части res.send ... и я ошибся, чтобы не иметь ту же конечную точку, это нормально в моем коде, но когда вы скопировали в stackoverflow, я забыл чтобы было ясно. Часть, которую я сейчас упускаю, связана с угловым уловом. не могли бы вы привести пример. Благодарю. – passion
Ваш объект 'response' имеет ключ' data', а не 'userRecord'. Чтобы увидеть это, выполните «console.log (response)», чтобы распечатать весь ответ. В вашем Угловом коде вам следует использовать 'response.data' вместо' response.userRecord'. Это должно решить вашу проблему. Что касается добавления 'catch()', просто сделайте что-то похожее на то, что вы сделали с 'catch()' в вашем коде сервера. – jwngr
Я принял ваш ответ, но я бы оценил его, если бы у вас был хороший рабочий пример, так что будущие пользователи stackoverflow могли бы атаковать ваш ответ и воспринимать его как модель, а не читать комментарии; – passion