Учетные данные для доступа к хранилищу для хранилища Google для самоцвета carrierwave в приложении Rails - PullRequest
7 голосов
/ 20 июля 2011

В моем приложении rails 3 я использую самоцвет носителя (версия 0.5.6). Я хотел бы использовать Google Storage для разработчиков для хранения загруженных файлов. Я создал инициализатор, который выглядит следующим образом:

CarrierWave.configure do |config|
    config.fog_credentials = {
        :provider                         => 'Google',
        :google_storage_access_key_id => 'xxxx',
        :google_storage_secret_access_key => 'yyyy'
    }
    config.fog_directory = 'directory'
end

Я получаю 403 запрещенных сообщения с

...<Error><Code>InvalidSecurity</Code><Message>The provided security credentials are not valid.</Message>...

Я только что включил свое хранилище Google, используя консоль apis, и могу загружать файлы с помощью онлайн-менеджера хранилища Google. Для "google_storage_access_key_id" в файле инициализаторов выше, я использую "Google Storage Id" для "Вы" на странице "Доступ к хранилищу". Для «google_storage_secret_access_key» я использую «Устаревшие ключи доступа к хранилищу».

Я не знаю, как поступить. Может ли кто-нибудь любезно указать мне, как решить проблему с этой проблемой?

Спасибо, Сакшам

Ответы [ 4 ]

10 голосов
/ 12 июня 2014

Хорошо, я чувствую себя безумно отсталым, но мне потребовался почти полный день, чтобы найти правильные ключи в консоли API Google. Я никак не мог найти информацию в новом интерфейсе.

Итак, вот минимальные шаги, чтобы найти ваш ключ доступа и секрет

  • открыть старую консоль API
  • включить интероперабельный доступ нажатием кнопки (там написано: сделать его по умолчанию для интероперабельного доступа, но без нажатия этой кнопки я не получил вкладку «Интероперабельный доступ»)
  • нажатие кнопки покажет два подменю в разделе Google Cloud Storage: Доступ к хранилищу и Интероперабельный доступ, нажмите на Интероперабельный доступ
  • там вы увидите ключ доступа (подсказка: он начинается с GOOG)
    • заполните google_storage_access_key_id)
  • нажмите кнопку Show за клавишей доступа, чтобы фактически показать соответствующий секрет
    • заполните google_storage_secret_access_key

Надеюсь, это кому-нибудь поможет. Я обнаружил, что названия ключей конфигурации тумана достаточно запутаны, чтобы на самом деле переключать значения, и мне потребовались целые годы, чтобы обнаружить, что кнопка Show действительно показала секрет. Doh! Поэтому я надеюсь, что это может помочь другим душам.

6 голосов
/ 20 июля 2011

Похоже, вы активировали устаревшие ключи доступа для своей учетной записи.В консоли API Google выберите «Хранилище Google», а затем нажмите «Устаревший доступ».

Используйте ключ доступа с этой страницы здесь:

google_storage_access_key_id => 'xxxx',

В консоли API нажмите show, чтобы отобразить ваш секретный ключ.Используйте этот ключ здесь:

google_storage_secret_access_key => 'yyyy'

Не используйте Google ID для устаревшего доступа.

Надеюсь, это поможет,

Энтони

5 голосов
/ 27 марта 2016

Чтобы создать ключ разработчика в 2016 году:

Посетите эту страницу: https://console.cloud.google.com/projectselector/storage/settings

  • Создать или выбрать проект.
  • Выберите совместимость.
  • Если вы ранее не настраивали совместимость, нажмите «Включить доступ к взаимодействию».
  • Нажмите Создать новый ключ.
2 голосов
/ 02 октября 2013

Консольный интерфейс Google API - не самый удобный пользовательский интерфейс, поэтому я выкладываю подробные инструкции.Я пишу это по состоянию на октябрь 2013 года. Теперь интерфейс изменен, но Google API Console все еще позволяет вам использовать устаревший доступ.Если вы используете новую консоль Google Cloud Console, посмотрите в нижнем левом углу и увидите сообщение "Это экспериментальная версия страницы доступа к API. Некоторые функции могут быть недоступны. " Нажмитеслова " Страница доступа к API ", чтобы получить доступ к устаревшему.Затем в левом меню выберите « Google Cloud Storage ».Под ним вы увидите два других фиксированных подменю: « Доступ к хранилищу » и «Интероперабельный доступ».На странице подменю « Storage Access » включите «Взаимодействующий доступ», если вы еще этого не сделали.Затем на странице подменю « Interoperable Access » вы можете получить ключи доступа к хранилищу для использования в конфигурации тумана.

...