我在将图像上传到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我在网上有搜索,我需要给用户许可。我就这样给你

但还是没有运气。
这是我的代码:
$this->bucket = $this->storage->bucket($ref);
$this->bucket->upload(
file_get_contents($data['tmp_name']),
[
'name' => $data['name']
]
);怎么修呢?
发布于 2020-12-18 04:44:31
我解决了这个问题,产生这样错误信息的东西
```message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.", "domain": "global", "reason": "forbidden"```是因为我叫错了桶名。因此,在调用上传函数之前,首先要确保调用exist函数,这样您就可以确保存储桶是正确的。
发布于 2020-12-17 10:58:40
message": "firebase-adminsdk-5jy3x@carimakan-bd835.iam.gserviceaccount.com does not have storage.objects.create access to images/test.jpeg.", "domain": "global", "reason": "forbidden"错误清楚地表明服务帐户不允许访问存储桶。
您需要确保正确设置服务帐户以访问存储桶。
这就是你的问题所在。我假设你在使用https://firebase-php.readthedocs.io/en/5.14.0/cloud-storage.html
您应该确保成功地连接到firebase。然后确保存储规则适用于您的应用程序。
https://stackoverflow.com/questions/65338295
复制相似问题