मैं इस स्क्रिप्ट को और अधिक बार अधिकृत करने से बचना चाहता हूं। दूसरे शब्दों में, जब मैं टर्मिनल से स्क्रिप्ट लॉन्च करता हूं, तो यह मुझे एक लिंक देता है जिसे मुझे ब्राउज़र में खोलना है, फिर ब्राउजर में 'अनुमति दें' बटन पर क्लिक करें और फिर टर्मिनल पर वापस जाएं ... मुझे लगता है कि एक रास्ता है प्रमाणीकरण विवरण बचाने के लिए कैसे?पायथन ड्रॉपबॉक्स एपीआई - टोकन फ़ाइल सहेजें?
# 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)
------------------------------------------- ------------------------------------------------- संपादित करें
मैं स्क्रिप्ट को संशोधित करके और यह स्क्रिप्ट बनाने हालांकि मैं अभी भी टोकन फ़ाइल
# 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)
पढ़ने मैं इस त्रुटि मिलती है समस्या है:
Traceback (most recent call last):
File "dropb.py", line 14, in <module>
token_file = open(TOKENS)
NameError: name 'TOKENS' is not defined
त्रुटि "' नाम 'टोकन' defined' नहीं है "यह कहता है कि सब: ऐसा इसलिए है क्योंकि आपके संपादन कोड में, आपने परिभाषा "' TOKENS = 'dropbox_token.txt'' "कुछ पंक्तियों को पहली बार उपयोग करने के बाद लिखा है, जो पंक्ति है" token_file = open (टोकन) '" ... पहली उपयोग लाइन प्रकट होने से पहले, बस अपने कोड में पहले परिभाषा रेखा को स्थानांतरित करें। – sdaau
क्या आप वास्तव में इंटरनेट के साथ ऐपकी और एपटोकन साझा करना चाहते हैं? –