fog-google google-storage身份验证失败

问题描述 投票:0回答:1

我使用carrierwaveUploader在rails 2.6.0上。无论我做什么,我都无法使用我的谷歌API进行存储验证。我已经创建了JSON密钥,桶,一切。

我的配置是:

CarrierWave.configure do |config|
  config.fog_provider = 'fog/google'                        # required
  config.fog_credentials = {
    provider: 'Google',
    google_storage_access_key_id: 'REDACTED',
    google_storage_secret_access_key: '-----BEGIN PRIVATE KEY-----\nREDACTED\n-----END PRIVATE KEY-----\n'

    # google_json_key_location: Rails.root.join('rails-app.json')
  }
  config.fog_directory = 'gomes-commerce'
end

我已经尝试使用google_json_key_location参数,你可以看到,并提供下载文件的路径......它不起作用!它给出了关于所需参数google_storage_access_key_id && google_storage_access_key的错误。

我的(相关)宝石是:

gem 'fog', require: 'fog/google'
gem 'google-api-client', '~> 0.11.1'
gem 'mime-types'

我的输出总是一样的:

<?xml version='1.0' encoding='UTF-8'?>
    <Error>
        <Code>
          SignatureDoesNotMatch
         </Code>
        <Message>
          The request signature we calculated does not match the 
          signature you provided. Check your Google secret key and signing 
          method. 
        </Message>
        <StringToSign>
          PUT\n\nimage/jpeg\nWed, 13 Feb 2019 09:36:19 +0000\nx-goog-acl:public-read\n/gomes-commerce/uploads%2Fproduct%2Fimage%2F17%2Fscp_shirt.jpg
        </StringToSign>
   </Error>

我现在想要解决这个问题超过48小时。如果对我的案例有任何关于SO的参考,我不会来这里并打开一个主题。请帮忙! :)

提前致谢。

ruby-on-rails ruby google-cloud-storage carrierwave google-authentication
1个回答
0
投票

嗯..我还没有看到任何对此的引用,所以也许我会帮助像我这样的另一个有抱负的rails开发者。

如果你想使用carrierwaveuploader(这是惊人的)。我最好的建议是结合这个:

https://github.com/metaware/carrierwave-google-storage

像魅力一样工作!

© www.soinside.com 2019 - 2024. All rights reserved.