Существует ряд проблем с вашим кодом, как логических, так и синтаксических.
Строка
var httpsReference = storage.refFromURL('https://firebasestorage.googleapis.com/v0/b/jenniebot2-94120.appspot.com/o/images%2FPicture5.jpg?alt=media&token=c853681b-2a72-45e4-ac7a-016f62396fa8');
не имеет никакого смысла.Вы не определяете storage
до этого и не используете httpsReference
позже.
Учитывая URL, похоже, этот файл хранится в Firebase Cloud Storage , который является хорошим местом для хранения и доступа к файлам.Это сильно отличается от базы данных Firebase Cloud Firestore , которая хороша для хранения документов с полуструктурированными данными.
Если это так, то вы бы создали storage
с чем-то вроде
var storage = admin.storage();
, который говорит, что нужно получить сервисный объект Storage от администратора Firebase.
Но если это так - тогда неясно, что вы планируете сделайте с объектом httpsReference
теперь, когда он у вас есть.
Если все, что вам нужно, это показать изображение по этому URL как часть ответа Dialogflow, тогда вам не нужнопройти через API - вы можете просто получить к нему доступ через URL.Если вы загрузите этот URL-адрес в браузере прямо сейчас, вы увидите изображение.
Не ясно, хотите ли вы, чтобы это было изображение на карте или отдельное изображение в ответе,но в любом случае вам просто нужно использовать URL.Возможно что-то вроде
var card = new Card();
card.addTitle("BMI Chart");
card.addImage("https://firebasestorage.googleapis.com/v0/b/jenniebot2-94120.appspot.com/o/images%2FPicture5.jpg?alt=media&token=c853681b-2a72-45e4-ac7a-016f62396fa8");
agent.add(card);
или
const {Image} = require('dialogflow-fulfillment');
var image = new Image();
image.setImage("https://firebasestorage.googleapis.com/v0/b/jenniebot2-94120.appspot.com/o/images%2FPicture5.jpg?alt=media&token=c853681b-2a72-45e4-ac7a-016f62396fa8");
agent.add(image);