如何使用 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用户?

如何在 Firebase Cloud Storage 上创建存储桶

如何修复 Firebase 9.0 导入错误? “尝试导入错误:‘firebase/app’不包含默认导出(导入为‘firebase’)。”

无法将 Firebase 导入 Swift 类

如何从 Firebase 控制台恢复已删除的项目