Obtenir l’URL de téléchargement à partir du fichier téléchargé avec les fonctions cloud pour Firebase

Après avoir téléchargé un fichier dans Firebase Storage with Functions pour Firebase, j’aimerais obtenir l’URL de téléchargement du fichier.

J’ai ceci :

... return bucket .upload(fromFilePath, {destination: toFilePath}) .then((err, file) => { // Get the download url of file }); 

Le fichier object a beaucoup de parameters. Même un nommé mediaLink . Cependant, si j’essaie d’accéder à ce lien, j’obtiens cette erreur:

Les utilisateurs anonymes n’ont pas access storage.objects.get à l’object …

Quelqu’un peut-il me dire comment obtenir le téléchargement public Url?

Je vous remercie

Vous devrez générer une URL signée à l’aide de getSignedURL via le module @ google-cloud / storage NPM.

Exemple:

 const gcs = require('@google-cloud/storage')({keyFilename: 'service-account.json'}); // ... const bucket = gcs.bucket(bucket); const file = bucket.file(fileName); return file.getSignedUrl({ action: 'read', expires: '03-09-2491' }).then(signedUrls => { // signedUrls[0] contains the file's public URL }); 

Vous devez initialiser @google-cloud/storage avec les informations d’ identification de votre compte de service, car les informations d’identification par défaut de l’application ne seront pas suffisantes.

MISE À JOUR : Le SDK Cloud Storage est désormais accessible via le SDK Admin Firebase, qui fait office de wrapper autour de @ google-cloud / storage. Vous devrez toujours lancer le SDK avec un compte de service, généralement via une seconde instance non définie par défaut.