ruby-on-rails - 如何在 Rails 中设置 Google 应用程序凭据
问题描述
我正在关注 Google 的“使用客户端库”并尝试使用 Google Cloud 平台将图像上传到我在 Google 上创建的存储桶。我还创建了一个服务并将 JSON 文件本地下载到我的项目中。
JSON 直接位于我的config/
文件夹中。
我还为 Google 添加了所需的 gem,并使用 Figaro gem 来处理环境变量。
我不明白如何将环境变量的值设置为指向包含我的服务凭据的 JSON 文件。
这是我在我的控制器的 POST 操作中的代码:
storage = Google::Cloud::Storage.new project_id: '******'
bucket = storage.bucket '******'
bucket.create_file allowed_params["image"], storage_file_path
这就是我试图GOOGLE_APPLICATION_CREDENTIALS
在我的 application.yml 文件中设置的方式:
GOOGLE_APPLICATION_CREDENTIALS: *********-3d373986410c6.json
该文件application.yml
和我的文件*********-3d373986410c6.json
位于同一文件夹/路径中。
我得到的错误是:
Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information
我错过了什么?
解决方案
@webbie 自己解决了这个问题,从问题评论中可以看出。将评论添加为社区 Wiki 答案以提高解决方案的可见性:
“这篇文章解决了这个问题https://medium.com/@pjbelo/setting-up-rails-5-2-active-storage-using-google-cloud-storage-and-heroku-23df91e830f8 ”
推荐阅读
- javascript - PHP、MySQL、React、Rest API 教程混淆 Part 2
- typescript - Promise 类型参数中的“找不到命名空间”
- php - IIS 服务器未获取名称中包含空格的文件
- c++ - 拉格朗日插值如何包含区间
- python - 无法从 Django 打开另一个 HTML 文件
- python - ImportError:即使已安装,也没有名为 htmlcreator 的模块
- python - 检测图像是否像素化的最佳方法是什么?
- mysql - 如何从使用 mysql.createConnection 切换到 mysql.createPool
- r - repolr 出错:rowSums 中的错误(t(mapply(complete.cases,split.data))):'x' 必须是数字
- javascript - 如何在 .map 数组中调用函数?