2013-08-04 24 views
5

में ड्रॉपबॉक्स.जेएस प्रमाणीकरण मैं कॉर्डोवा/फोनगैप में एक ऐप लिख रहा हूं जो Dropbox.js का उपयोग करके ड्रॉपबॉक्स से फ़ाइल लाने की कोशिश करता है। कॉर्डोवा संस्करण 3.0.1 है और Dropbox.js संस्करण 0.10.0 है। मेरे जावास्क्रिप्ट इस के साथ डेस्कटॉप ब्राउज़र पर बस ठीक काम करता है:कॉर्डोवा/फोनगैप

var client = new Dropbox.Client({ key: "<my key>", secret: "<my secret>"}); 
client.authenticate(function(error, client) { 
... 

लेकिन Cordova पैक अनुप्रयोग में मैं कोई त्रुटि मिलती है: "ऐसा लगता है एप्लिकेशन को आप उपयोग कर रहे थे एक बुरी अनुरोध प्रस्तुत"।

मुझे लगता है समस्या रीडायरेक्ट-यूआरएल जो Cordova अनुप्रयोग में इस पर ले कर के साथ क्या करना है:

Dropbox.AuthDriver.BrowserBase.currentLocation() 
-> file:///android_asset/www/index.html 

फ़ाइल URL के साथ शुरू: /// ड्रॉपबॉक्स एपीआई भले ही साथ ठीक से काम नहीं करेगा मैं उन्हें ड्रॉपबॉक्स एपीआई कंसोल में OAuth रीडायरेक्ट यूआरआई में जोड़ता हूं।

var client = new Dropbox.Client({ 
    key: "<my key", 
    secret: "<my secret>", 
    token: "<token>", 
    uid: "<uid>" 
}); 
client.authenticate(function(error, client) { 
... 

इस तरह से मैं ठीक मेरे ड्रॉपबॉक्स फ़ाइलें पढ़ सकते हैं: अगर मैं uid और टोकन से पहले पता

Cordova एप्लिकेशन काम ठीक करता है। समस्या यह है कि टोकन हमेशा के लिए नहीं रहता है और मैं अपने ऐप से एक नया प्राप्त करना चाहता हूं।

this discussion के अनुसार, यह समस्या ड्रॉपबॉक्स.जेएस (0.9.2) के पहले संस्करण में पहले से ही हल होनी चाहिए। लेकिन मैं अभी भी इसमें भाग गया। मुझे आश्चर्य है कि मुझे एपीआई का थोड़ा अलग इस्तेमाल करना चाहिए, लेकिन मुझे नहीं पता कि कैसे।

Dropbox.js ने एक रीडायरेक्ट यूआरएल विकल्प in this commit जोड़ा है, मुझे नहीं पता कि मुझे अपने कॉर्डोवा ऐप में वास्तव में क्या रखा जाना चाहिए। फ़ाइल: ///android_asset/www/index.html काम नहीं करेगा क्योंकि ड्रॉपबॉक्स एपीआई फ़ाइल यूआरएल की अनुमति नहीं देता है।

this question पर साइमन मैकडॉनल्ड्स का जवाब मदद कर सकता है। लेकिन इसका मतलब है कि मुझे ड्रॉपबॉक्स.जेएस लॉगिन कार्यक्षमता के साथ बाहरी सर्वर-होस्टेड पृष्ठ होना चाहिए। या मैं इसके बजाय मुख्य ड्रॉपबॉक्स वेब लॉगिन पेज का उपयोग कर सकता हूं?

उत्तर

5

dropbox.js 0.10.1 में कॉर्डोवा के लिए कुछ फिक्स हैं।

हमने अभी एक पृष्ठ स्थापित किया है जिसे आप एम्बेडेड वेब व्यू में ओएथ 2 रीडायरेक्ट यूआरएल के रूप में उपयोग कर सकते हैं, जब फ़ाइल: // काम नहीं करती है।

https://www.dropbox.com/1/oauth2/redirect_receiver

+0

बढ़िया! मैं मास्टर संस्करण का परीक्षण करूंगा और यदि यह काम नहीं करता है, तो कम से कम मुझे इंटरैक्टिव https लॉगिन पेज को होस्ट और बनाने की आवश्यकता नहीं है क्योंकि आपने पहले से ही एक बनाया है। – auramo

+0

मास्टर संस्करण में एक ही समस्या है: https://github.com/dropbox/dropbox-js/issues/106#issuecomment-22203159 – auramo

+0

अब एक नया संस्करण है जो आगे काम करता है: https://github.com/ ड्रॉपबॉक्स/ड्रॉपबॉक्स-जेएस/अंक/106 # अंकन -22726393 – auramo

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^