Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP将图像上载到Firestore存储_Php_Firebase_Google Cloud Firestore_Google Cloud Storage - Fatal编程技术网

如何使用PHP将图像上载到Firestore存储

如何使用PHP将图像上载到Firestore存储,php,firebase,google-cloud-firestore,google-cloud-storage,Php,Firebase,Google Cloud Firestore,Google Cloud Storage,我在将图像上载到Firestore存储时遇到问题。问题是: Fatal error: Uncaught Google\Cloud\Core\Exception\ServiceException: { "error": { "code": 403, "message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does

我在将图像上载到Firestore存储时遇到问题。问题是:

Fatal error: Uncaught Google\Cloud\Core\Exception\ServiceException:
{
  "error": {
    "code": 403,
    "message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.",
    "errors": [
      {
        "message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.",
        "domain": "global",
        "reason": "forbidden"
      }
    ]
  }
} in C:\xampp\htdocs\cariMakan\vendor\google\cloud-core\src\RequestWrapper.php:368
Stack trace:
#0 C:\xampp\htdocs\cariMakan\vendor\google\cloud-core\src\RequestWrapper.php(207): Google\Cloud\Core\RequestWrapper->convertToGoogleException(Object(GuzzleHttp\Exception\ClientException))
#1 C:\xampp\htdocs\cariMakan\vendor\google\cloud-core\src\Upload\MultipartUploader.php(44): Google\Cloud\Core\RequestWrapper->send(Object(GuzzleHttp\Psr7\Request), Array)
#2 C:\xampp\htdocs\cariMakan\vendor\google\cloud-storage\src\Bucket.php(294): Googl in C:\xampp\htdocs\cariMakan\vendor\google\cloud-core\src\RequestWrapper.php on line 368
我在互联网上搜索,我需要给用户许可。我是这样给它的

```message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.", "domain": "global", "reason": "forbidden"```

但还是没有运气

这是我的密码:

$this->bucket=$this->storage->bucket($ref);
$this->bucket->upload(
文件获取内容($data['tmp\u name']),
[
'name'=>$data['name']
]
);
如何修复它

message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.", "domain": "global", "reason": "forbidden"
错误明确表示不允许服务帐户访问存储桶

您需要确保服务帐户已正确设置以访问存储桶

这就是你的问题所在。我假设你正在使用


您应该确保已成功连接到firebase。然后确保存储规则适用于您的应用程序。

我解决了这个问题,即产生如下错误消息的原因

```message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.", "domain": "global", "reason": "forbidden"```
是因为我叫错了桶名。
因此,在调用上传函数之前,请确保首先调用存在函数,以便确保您的存储桶是正确的。

我更正了您的问题,以使其更具可读性。将来,当你问一个问题时,试着做更好的格式化,这将使你更容易更快地解决问题。整洁的布局和语法着色总是加快解释速度。见谢谢:)我将学习更好的格式化我没有使用kreait,我使用的是google php,firebase成功的连接,因为我可以获取数据并将数据设置到cloud firestore