【问题标题】:How do I auto import bucket in firebase using PHP - Google Cloud Storage如何使用 PHP 在 Firebase 中自动导入存储桶 - 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));
    }
}

【问题讨论】:

    标签: php firebase google-cloud-platform google-cloud-storage firebase-storage


    【解决方案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 进行身份验证以获取令牌,所以我认为这将是你的“功课”。

    【讨论】:

      猜你喜欢
      • 2017-10-03
      • 2021-03-06
      • 2015-02-15
      • 1970-01-01
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 2018-06-18
      相关资源
      最近更新 更多