擅长:python、mysql、java
<p>您需要通过<a href="https://www.npmjs.com/package/@google-cloud/storage" rel="noreferrer">@google-cloud/storage</a>NPM模块使用<a href="https://cloud.google.com/nodejs/docs/reference/storage/2.5.x/File#getSignedUrl" rel="noreferrer">getSignedURL</a>生成一个签名URL</p>
<p>例如:</p>
<pre><code>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
});
</code></pre>
<p>您需要使用<a href="https://console.firebase.google.com/project/_/settings/serviceaccounts/adminsdk" rel="noreferrer">your service account credentials</a>初始化<code>@google-cloud/storage</code>,因为应用程序默认凭据不足</p>
<p><strong>更新</strong>:现在可以通过Firebase管理SDK访问云存储SDK,该SDK位于@google Cloud/Storage附近。唯一的方法是,如果您:</p>
<ol>
<li>使用特殊服务帐户初始化SDK,通常通过第二个非默认实例</李>
<li>或者,在没有服务帐户的情况下,为默认的应用程序引擎服务帐户授予“signBlob”权限</李>
</ol>