2017-08-09 13 views
0

レールapi上のルビーを使ってドロップボックスに複数のパーツドキュメントをアップロードする方法。APIを介したドロップボックスのマルチパートドキュメントをアップロードする(レール上のルビー)

def upload_passport 
    APP_KEY = 'INSERT_APP_KEY' 
    APP_SECRET ='INSERT_APP_SECRET' 
    flow = DropboxOAuth2FlowNoRedirect.new(APP_KEY, APP_SECRET) 
    authorize_url = flow.start() 
    file = open(params[:file]) 
    response = client.put_file('/magnum-opus.txt', file) 
    puts "uploaded:", response.inspect 
end 
+0

はAPP_KEY、APP_SECRETエラーを追加します。app_key = 'INSERT_APP_KEY' app_secret:動的な定数割り当て – rohan

答えて

1

メソッドを実行するたびに、値を定数に再割り当てします。これはルビーでは許可されていません。

あなたはしかし、このメソッドを含むクラスでそれを追加することができます
APP_KEY = 'INSERT_APP_KEY' 
APP_SECRET ='INSERT_APP_SECRET' 

class MyClass 
    APP_KEY = 'INSERT_APP_KEY' 
    APP_SECRET ='INSERT_APP_SECRET' 

    def upload_passport 
    flow = DropboxOAuth2FlowNoRedirect.new(APP_KEY, APP_SECRET) 
    authorize_url = flow.start() 
    file = open(params[:file]) 
    response = client.put_file('/magnum-opus.txt', file) 
    puts "uploaded:", response.inspect 
    end 
end 
+0

を私はこのような問題を解決しています= 'INSERT_APP_SECRET' – rohan

+0

私はドロップボックスsdkが必要ですが、エラースローには 'dropbox-sdk'が必要です。エラー:(このようなファイルを読み込めません - dropbox-sdk) – rohan

+0

この回答は問題を解決するもので正しいです。しかし、このようにして定数やvarに代入して一度しか使用しても効果がありません。単に 'new'を呼び出す際に文字列をハードコードするだけです。しかし、コードに秘密を持たせるのは一般的には悪いことです。秘密を保存するためには、秘密を使用することができます:http://guides.rubyonrails.org/4_1_release_notes.html#config-secrets-yml – Kris

関連する問題