0

OSX Mavericks、ruby 2.1.1p76 (2014-02-24 リビジョン 45161) [x86_64-darwin13.0]、rvm 1.25.23 (マスター)、および rails-4.1.0 (疑惑) を実行

Railsapps.orgの本でレールの学習に取り組んでいますが、「スプレッドシート接続」で行き詰っています。私は本に書かれているとおりのコードを持っており、Google ドライブ用のアプリケーション固有のパスワードを設定してテストしました。私のコードは次のようになります。

def update_spreadsheet
connection = GoogleDrive.login(Rails.application.secrets.email_provider_username, Rails.application.secrets.email_provider_password)
ss = connection.spreadsheet_by_title('Learn-Rails-Example')
if ss.nil?
  ss = connection.create_spreadsheet('Learn-Rails-Example')
end

私の secrets.yml ファイルには次のものが含まれています。

development:
email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>

mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>

そして、チュートリアルに従って.bashrcファイルを正しく構成しました。

連絡先フォームの情報を入力して [送信] を押すと、次のエラーが表示されます。

GoogleDrive::AuthenticationError at /contacts
Authentication failed for : Response code 403 for post https://www.google.com/accounts/ClientLogin: Error=BadAuthentication

の代わりにログインとアプリ固有のパスワードをハードコーディングするとRails.application.secrets.email_provider_usernameRails.application.secrets.email_provider_password問題なく動作します。初心者として、コードをたどっRails.application.secrets.email_provider_usernameて .bashrc 設定がどこでどのようにポイントされるかを理解することができません。

どんな助けでも大歓迎です。

よろしく、ジェフ

4

4 に答える 4

0

Gmail のパスワードに ! などの句読点が含まれている場合 および @ の場合、Unix 環境変数を設定する前に、次のようにパスワードを一重引用符で囲みます。

export GMAIL_PASSWORD="'my@#$%&!password'"
于 2014-05-01T19:30:49.737 に答える
-1

.bashrc ファイル内の不要な RVM コマンドをいくつか削除することで、このエラーを回避することができました。私の .bash_profile ファイルは完全に空白になり、私の .bashrc は 6 つのエクスポート コマンドしかありません。

于 2015-02-03T02:05:30.117 に答える