के बिना नोड जेएस से ड्रॉपबॉक्स में फ़ाइलों को स्थानांतरित करें मैं उसके नोकोज़ से + नोडजेस + एक्सप्रेस आधारित एपीआई सर्वर चला रहा हूं और dropbox-js लाइब्रेरी का उपयोग कर रहा हूं। यहां मैं यह करना चाहता हूं:ब्राउजर आधारित ओथ प्रमाणीकरण
- कोई उपयोगकर्ता एक विशिष्ट एपीआई एंडपॉइंट हिट करता है और प्रक्रिया को बंद कर देता है।
- कुछ पाठ फ़ाइलों को नोड प्रक्रिया के माध्यम से उत्पन्न करें और उन्हें सर्वर पर सहेजें
- इन फ़ाइलों को एक ड्रॉपबॉक्स में स्थानांतरित करें जो मैं अपने स्वयं के प्रमाण-पत्र (उपयोगकर्ता और ड्रॉपबॉक्स ऐप) का उपयोग कर रहा हूं।
कोई याद नहीं होगा जब यादृच्छिक उपयोगकर्ता को ऐसा करने की आवश्यकता होती है .. यह एक टीम खाता है और यह एक आंतरिक उपकरण है।
जो भाग मुझे ट्रिप कर रहा है वह यह है कि ड्रॉपबॉक्स ब्राउज़र विंडो खोलना चाहता है और ऐप से कनेक्ट करने के लिए मुझसे अनुमति प्राप्त करना चाहता है। मुद्दा यह है कि जब मैं Heroku उदाहरण पर प्रक्रिया चल रहा हूं तो मैं स्पष्ट रूप से बटन पर क्लिक नहीं कर सकता।
क्या मेरे लिए पूरी तरह से नोड में ऐप तक पहुंच अधिकृत करने का कोई तरीका है?
मुझे लगता है कि मैं संभावित रूप से बटन पर क्लिक करने के लिए एक phantomJS प्रक्रिया का उपयोग कर सकता हूं - लेकिन यह बहुत जटिल लगता है और यदि संभव हो तो मैं इससे बचना चाहूंगा।
यहाँ मेरी प्रमाणीकरण कोड है:
// Libraries
var Dropbox = require('dropbox');
var DROPBOX_APP_KEY = "key";
var DROPBOX_APP_SECRET = "secret";
var dbClient = new Dropbox.Client({
key: DROPBOX_APP_KEY, secret: DROPBOX_APP_SECRET, sandbox: false
});
dbClient.authDriver(new Dropbox.Drivers.NodeServer(8191));
dbClient.authenticate(function(error, client) {
if (error) {
console.log("Some shit happened trying to authenticate with dropbox");
console.log(error);
return;
}
client.writeFile("test.txt", "sometext", function (error, stat) {
if (error) {
console.log(error);
return;
}
console.log("file saved!");
console.log(stat);
});
});
इसका परीक्षण करने के लिए समय निकालने के लिए बहुत बहुत धन्यवाद! यही वह है जिसकी तलाश में मैं हूं। चीयर्स! –
मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं, लेकिन मैं उपरोक्त कोड का उपयोग एक कुंजी, गुप्त, टोकन कुंजी और टोकन रहस्य के साथ कर रहा हूं, जिसे मैं जानता हूं कि सभी मान्य हैं, और मैं कुछ भी प्राप्त करने में असमर्थ हूं जब मैं फ़ाइल अपलोड करने का प्रयास करता हूं तो अनधिकृत त्रुटि। मुझे यहां क्या समझ नहीं आ रहा है? – Sydin
अद्यतन: मेरा अनुमान है कि यह ड्रॉपबॉक्स-जेएस से संबंधित है oauth2 पर जा रहा है, लेकिन ऐसा लगता है जैसे प्रमाण-पत्र बदल रहे हैं; मैं एक टोकन और गुप्त के बजाय एक टोकन कैशिंग कर रहा हूं, और यह चाल चल रहा है। – Sydin