上传到firebase存储php

问题描述

我正在尝试将照片上传到我的 firebase 存储桶,我的代码有点像:

$storage = new StorageClient([
        'projectId' => '<project_id>','keyFilePath' => '<path_to_json>','storageBucket' => 'images'
        ]);

      $bucket = $storage->bucket('images');

我可以让它打印存储桶的名称,但是当我上传时:

$bucket->upload(
      file_get_contents($_FILES['imagetoUpload']['tmp_name']),[
          'name' => $_FILES['imagetoUpload']['name']
      ]
  );

我收到此错误消息:

Fatal error: Uncaught Google\Cloud\Core\Exception\ServiceException: { "error": { "code": 403,"message": "upheld-pursuit-274606@appspot.gserviceaccount.com does not have storage.objects.create access to the Google Cloud Storage object.","errors": [ { "message": "upheld-pursuit-274606@appspot.gserviceaccount.com does not have storage.objects.create access to the Google Cloud Storage object.","domain": "global","reason": "forbidden" } ] } } in C:\xampp\htdocs\public_html\vendor\google\cloud\Core\src\RequestWrapper.PHP:368 Stack trace: #0 C:\xampp\htdocs\public_html\vendor\google\cloud\Core\src\RequestWrapper.PHP(207): Google\Cloud\Core\RequestWrapper->convertToGoogleException(Object(GuzzleHttp\Exception\ClientException)) #1 C:\xampp\htdocs\public_html\vendor\google\cloud\Core\src\Upload\MultipartUploader.PHP(44): Google\Cloud\Core\RequestWrapper->send(Object(GuzzleHttp\Psr7\Request),Array) #2 C:\xampp\htdocs\public_html\vendor\google\cloud\Storage\src\Bucket.PHP(2 in C:\xampp\htdocs\public_html\vendor\google\cloud\Core\src\RequestWrapper.PHP on line 368

有什么方法可以做到这一点而无需创建另一个服务帐户?或者我是否必须制作另一个,如果是这样,我不知道该怎么做。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...