2017-10-20 12 views
1

google-cloudのfirebaseでは些細なように思えるものを見つけようとしています。Google CloudストレージからDownloadUrlを生成する方法(私はfirebaseから来た)

node.jsアプリケーションをHTML用に作成しているかのように見えます(実際にはUnityを使って話していますが、デスクトップアプリケーションです)、何らかの理由でfirebase-storageを使用することはできません。 google-cloudを使用する必要があります。firebase-adminツールでも、クラウドストレージを使用してここからストレージを使用する必要があります。

それでも、私はそれを稼働させました、私はfirebaseストレージにファイルをアップロードしています。 ref()。child(filelocation).GetDownloadURL():これは、特定のファイルを指定した後、storage()を実行することができます。すべての匿名ユーザーに読み取りアクセス権を与える必要はありません。

自分の特別なURLを生成するためにGS UTILというものを実装する必要がありますが、それはとても複雑です(このサーバー全体の初心者です)。私のノードサーバーでこれが動作するようになります。

任意のポインタ?私は本当にここにこだわっている。

------- anyones興味があれば、これはハイレベルをしようとするものであるイム-----

I'm sending 3d model data to node app from Unity 
the node app is publishing this model on sketchfab 
then it puts the model data onto my own storage, along with some additional data specially made for my app 
after it gets signed to storage, it gets saved to my Firebase DB in my global model database 
to be accessed later, by users, to try to get the downloadURL of this storage file and send them all back to Unity users(s) 
I would just download the files into my node app, but i wanna reduce any server load, it's supposed to be just a middleman between Unity and Firebase 
(i would've done it straight from Unity, but apparently firebase isn't for desktop windows apps). 

答えて

0

はそれを考え出した:

var firebase_admin = require("firebase-admin"); 
 
var storage = firebase_admin.storage(); 
 
var bucket = storage.bucket(); 
 

 
bucket.file(childSnapshot.val().modelLink).getSignedUrl({ 
 
         action: 'read', 
 
         expires: expDate 
 
        },function(err,url){ 
 
         if(err){ 
 
          reject(err); 
 
         } 
 
         else{ 
 
          finalData.ModelDownloadLink = url; 
 
          console.log("Download model DL url: " + url); 
 
          resolve(); 
 
         } 
 
        }); 
 
       

関連する問題