3
Google Cloud Storageに保存されているファイルのURLを取得するために、次のFirebase Cloud機能があります。Google Cloud Storage(Firebase Cloud機能付き)から短いファイルURLを取得
const gcs = require('@google-cloud/storage')({keyFilename: 'service-account.json'});
exports.generateFileLink = functions.storage.object().onChange(event => {
const object = event.data;
const filePath = object.name;
const bucket = gcs.bucket(object.bucket);
const file = bucket.file(filePath);
const action = 'read';
const expires = '03-09-2491';
return file.getSignedUrl({action, expires}).then(signedUrls => {
console.log(signedUrls[0])
});
})
これは、正しいURLを返しますが、それは600文字以上の長さです。 Firebase Webコンソールに表示される同じファイルのURLは200文字未満です。 firebase-adminまたはfirebase-functionsモジュールを使って短いURLを取得する方法はありますか?
Firebaseモジュールを使用してファイルのダウンロードURLを取得する方法が見つかりませんでした。署名されたURLは必要ありません。[ダウンロードURL](https://firebase.google.com/docs/reference/ios/firebasestorage/api/reference/Classes/FIRStorageReference#/c:objc(cs) FIRStorageReference(im)downloadURLWithCompletion :)をクラウド関数内に作成します。 –
申し訳ありません、自分自身を修正させてください。私は署名されたURLが必要です。 FirebaseのダウンロードURLにはトークン属性(約36文字)がありますが、Google Cloud Storageには署名(200文字以上)があります。私は小さいサイズのダウンロードURLを探しています –
@ SalilThakur残念ながら、標準のGCSクライアントからFirebaseのダウンロードURLをサポートしていません。前述のように、私たちはこれを解決するために努力していますが、今は長いものを使用するか、 'gs://' URIを格納し、クライアントに実際のダウンロードURLを取得させる必要があります。別のオプションは、完全に署名されたURLに展開するリンク短縮子(bit.lyなど)を調べることです –