如何使用PHP将图像上载到Firestore存储
我在将图像上载到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
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