如何使用 PHP 在 Firebase 中自动导入存储桶 - Google Cloud Storage
Posted
技术标签:
【中文标题】如何使用 PHP 在 Firebase 中自动导入存储桶 - Google Cloud Storage【英文标题】:How do I auto import bucket in firebase using PHP - Google Cloud Storage 【发布时间】:2021-03-28 10:44:28 【问题描述】:我已经创建了一个 api 来在 firebase 上创建存储桶,存储桶已在 Google Cloud 上成功创建,但我希望它也应该自动导入到 firebase 中。目前我必须手动完成,因为我希望一切都在 firebase 中完成。附上一些用于创建桶的代码。
function get_firebase_client()
return new StorageClient(
array(
'keyFile' => json_decode(file_get_contents('firebase.json'), true),
'suppressKeyFileNotice' => true
)
);
function create_firebase_bucket($bucket_name)
$storage = get_firebase_client();
try
$storage->createBucket($bucket_name, array(
'predefinedAcl' => 'publicRead',
'requesterPays' => true
));
return array('success' => true);
catch(Exception $e)
return array('success' => false, 'message' => json_decode($e->getMessage(), true));
【问题讨论】:
【参考方案1】:环顾四周,我注意到目前这是不可能的,您可能希望将此作为功能请求提交here。这也在question 中进行了讨论。
无论如何,有点好奇,我注意到 Firebase 控制台的前端向特定 URL 发送了一个 POST
以将存储桶添加到 Firebase:
https://firebasestorage.clients6.google.com/v1alpha/projects/[PROJECT_NUMBER]/buckets/[BUCKET_NAME]:addFirebase
我尝试使用 curl
检查该 URL 是否在 Firebase 控制台之外工作,是的,它工作:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://firebasestorage.clients6.google.com/v1alpha/projects/[PROJECT_NUMBER]/buckets/[BUCKET_NAME]:addFirebase
由于我不擅长 php,我无法提供任何代码来通过 OAuth2 进行身份验证以获取令牌,所以我认为这将是你的“功课”。
【讨论】:
以上是关于如何使用 PHP 在 Firebase 中自动导入存储桶 - Google Cloud Storage的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Typescript 从 firebase-admin 导入 FieldValue?
如何在 Firebase Cloud Storage 上创建存储桶
如何修复 Firebase 9.0 导入错误? “尝试导入错误:‘firebase/app’不包含默认导出(导入为‘firebase’)。”