Я на рельсах 2.6.0 с помощью carrierwaveUploader.Независимо от того, что я делаю, я не могу пройти аутентификацию с моим Google 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, которая работает для моего случая.Пожалуйста помоги!:)
Заранее спасибо.