аутентификация в Google-хранилище - PullRequest
0 голосов
/ 13 февраля 2019

Я на рельсах 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, которая работает для моего случая.Пожалуйста помоги!:)

Заранее спасибо.

1 Ответ

0 голосов
/ 13 февраля 2019

Ну .. я не видел каких-либо ссылок на это на SO, поэтому, возможно, я помогу другому начинающему разработчику рельсов, как я.

Если вы хотите использовать carrierwaveuploader (который являетсяудивительно).Мой лучший совет - объединить это:

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

Работает как шарм !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...