1
看來我必須在這裏丟失一些東西。我工作的一個簡單的應用程序,我開始的Dropbox的教程:用於Ruby的Dropbox SDK,不需要重新授權
# Install this the SDK with "gem install dropbox-sdk"
require 'dropbox_sdk'
# Get your app key and secret from the Dropbox developer website
APP_KEY = 'XXXXXXXXXXXXXXX'
APP_SECRET = 'XXXXXXXXXXXXXXX'
CODE = 'QEL2VDUKRj4AAAAAAAAAAcBT_U9GoEvKF2UCXp3h4UA'
flow = DropboxOAuth2FlowNoRedirect.new(APP_KEY, APP_SECRET)
puts flow.start()
access_token, user_id = flow.finish(CODE)
client = DropboxClient.new(access_token)
file = open('working-draft.txt')
response = client.put_file('/magnum-opus.txt', file)
puts "uploaded:", response.inspect
的代碼似乎只爲一個請求(或腳本的至少一個運行)工作,然後我得到一個錯誤:
E:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/dropbox-sdk-1.6.2/lib/dropbox_sdk.rb:69:in `parse_response': invalid_grant (DropboxError)
爲了在沒有授權的情況下正常工作,我需要做些什麼?
我只是應該跳過流完全不是嗎?我認爲這是我的錯誤。我正在存儲令牌,但每次都運行DropboxOAuth2FlowNoRedirect.new行,並且這必須是要求我重新授權的內容。 –
是的,就像我上面的代碼一樣,完全跳過這個流程。它看起來像存儲授權碼,但您需要存儲訪問令牌(從flow.finish返回的第一件事)。 – smarx
謝謝,Dropbox網站上的教程並沒有完全說明這一點...... –