1

時間アクセスに基づいて Firebase Storage ファイルを保護しようとしています。たとえば、ファイルがアップロードされてから特定の時間まで読み取りを許可するとします。

この特定の時間は、ユーザーがファイルをアップロードしたときに、ファイル メタデータのカスタム プロパティの「有効期限」フィールドに格納されます。

私の問題は、この値を次のduration.value(int magnitude, string units)ように関数のパラメーターとして使用しようとしていることです。

request.time < resource.timeCreated + duration.value(resource.metadata.expiration, "m");

しかし、「期間」関数は、定数値のみをマグニチュード パラメーターに受け入れ、動的な値を受け入れないようです。

これも試した人いますか?

ありがとう

4

1 に答える 1

2

良い質問です。お手数をおかけして申し訳ありません:(

はい、これらの関数は動的な値を取ります。ここでの問題は、型が間違っているため、関数が失敗していることです。

あなたが正しく指摘したように、すべてのカスタムメタデータ(「有効期限」など)は文字列として返されますが、とをduration.value()取ります。intstring

これを行う簡単な (まだ文書化されていない) 方法は、次のメソッドを使用してstring値をにキャストすることです。intint()

request.time < resource.timeCreated + duration.value(int(resource.metadata.expiration), "m");
于 2016-05-31T17:41:34.900 に答える