title: python dropbox api - save token file?
body: <p>I want to avoid having to authorise this script over and over. In other words, when I launch the script from the terminal, it gives me a link I have to open in a browser then click on the 'Allow' button in the browser then go back to the terminal...I guess there's a way to save the authentication details but how? </p>
  
  <pre><code># Include the Dropbox SDK libraries
  from dropbox import client, rest, session
  
  # Get your app key and secret from the Dropbox developer website
  
  APP_KEY = 'xxxxxxxxxxx'
  APP_SECRET = 'yyyyyyyyyyyy'
  ACCESS_TYPE = 'dropbox'
  
  
  sess = session.DropboxSession(APP_KEY,APP_SECRET, ACCESS_TYPE )
  
  request_token = sess.obtain_request_token()
  
  # Make the user sign in and authorize this token
  url = sess.build_authorize_url(request_token)
  print "url:", url
  print "Please authorize in the browser. After you're done, press enter."
  raw_input()
  
  # This will fail if the user didn't visit the above URL and hit 'Allow'
  access_token = sess.obtain_access_token(request_token)
  
  client = client.DropboxClient(sess)
  #stored_creds = open(CONF_DIR + self.TOKEN_FILE).read()
  print "linked account:", client.account_info()
  
  f = open('t.txt')
  response = client.put_file('/uploaded_with_python.txt', f)
  print "uploaded:", response
  
  folder_metadata = client.metadata('/')
  print "metadata:", folder_metadata
  
  f, metadata = client.get_file_and_metadata('/uploaded_with_python',rev='362e2029684fe')
  out = open('/uploaded_with_python.txt', 'w')
  out.write(f)
  print(metadata)
  </code></pre>
  
  <p>--------------------------------------------------------------------------------------------EDIT</p>
  
  <p>I modified the script and it created the script however I still have problems reading the token file</p>
  
  <pre><code># Include the Dropbox SDK libraries
  from dropbox import client, rest, session
  
  # Get your app key and secret from the Dropbox developer website
  
  APP_KEY = 'i4ffahjltei1bnu'
  APP_SECRET = 'cjullao1iiymrse'
  ACCESS_TYPE = 'dropbox'
  
  #acces token file
  token_file = open(TOKENS)
  token_key,token_secret = token_file.read().split('|')
  token_file.close()
  
  sess = session.DropboxSession(APP_KEY,APP_SECRET, ACCESS_TYPE )
  
  request_token = sess.obtain_request_token()
  
  # Make the user sign in and authorize this token
  url = sess.build_authorize_url(request_token)
  print "url:", url
  print "Please authorize in the browser. After you're done, press enter."
  raw_input()
  
  # This will fail if the user didn't visit the above URL and hit 'Allow'
  access_token = sess.obtain_access_token(request_token)
  #save token file
  TOKENS = 'dropbox_token.txt'
  token_file = open(TOKENS,'w')
  token_file.write("%s|%s" % (access_token.key,access_token.secret) )
  token_file.close()
  
  client = client.DropboxClient(sess)
  
  print "linked account:", client.account_info()
  
  f = open('t.txt')
  response = client.put_file('/uploaded_with_python.txt', f)
  print "uploaded:", response
  
  folder_metadata = client.metadata('/')
  print "metadata:", folder_metadata
  
  f, metadata = client.get_file_and_metadata('/uploaded_with_python',rev='362e2029684fe')
  out = open('/uploaded_with_python.txt', 'w')
  out.write(f)
  print(metadata)
  </code></pre>
  
  <p>I get this error: </p>
  
  <pre><code>Traceback (most recent call last):
    File "dropb.py", line 14, in &lt;module&gt;
      token_file = open(TOKENS)
  NameError: name 'TOKENS' is not defined
  </code></pre>