Neotoma সিঙ্ক সার্ভারের জন্য Dropbox API v2 ফিক্স
আজ IndieWebCamp বার্লিনে আমার কাজের স্প্রিন্টের অংশ হিসাবে, আমি একটি শো-স্টপিং বাগ ঠিক করতে পেরেছি যা Neotoma-এ সিঙ্ক-সার্ভারের জন্য তৈরি করা হয়েছে এবং আমার সাম্প্রতিক Foursquare / Swarm চেক-ইনগুলির জন্য একটি ব্যাকআপ কাজ চালাতে পেরেছি।
আজকে IndieWebCamp Berlin এ আমার কাজের স্প্রিন্টের অংশ হিসেবে, আমি Neotoma.iot.io8 এ Sync-server এর জন্য তৈরি করা একটি শো-স্টপিং বাগ ঠিক করতে পেরেছি। 2017 যখন ড্রপবক্স তার API v1 সম্পূর্ণরূপে অবসর নিয়েছে API v2 এর পক্ষে।
আমি এই সপ্তাহ পর্যন্ত এই বাগ সম্পর্কে সচেতন ছিলাম না কারণ উত্পাদনে ত্রুটি পরিচালনা করার বিষয়টি আমাকে অবহিত করার জন্য সেট করা হয়নি (ইমেলের মাধ্যমে বা অন্যথায়), তবে সেই বিজ্ঞপ্তি সেট আপ করা এখন একটি অগ্রাধিকারমূলক কাজ ভবিষ্যতে এই ধরনের নীরব সমস্যা এড়াতে।
কোডটি খনন করার পরে, দেখা গেল যে ড্রপবক্সের জন্য পাসপোর্ট প্রয়োগটি বিশেষভাবে এর কৌশল শুরু করার সময় একটি apiVersion প্যারামিটার পাস করছে না, এবং আমার এপিআই-এর ডিফবক্স ছাড়াই এটি বাস্তবায়িত হয়েছে।
আমি apiVersion যোগ করেছি এখানে প্যারামিটার হিসেবে এবং এছাড়াও [স্টোরেজ মডেল]-এ একটি অ্যাট্রিবিউট ড্রপবক্সের স্টোরেজ ডকুমেন্ট।
দ্রষ্টব্য: এই বৈশিষ্ট্যটি দৃশ্যত একটি স্ট্রিং হতে হবে, একটি পূর্ণসংখ্যা নয়, যার পরবর্তীটি চেষ্টা করার সময় আমার জন্য কাজ করতে ব্যর্থ হয়েছে।
req.strategy = new passportStrategy.Strategy({
apiVersion: document.apiVersion,
clientID: document.clientId,
clientSecret: document.clientSecret,
consumerKey: document.clientId,
consumerSecret: document.clientSecret,
callbackURL: `${req.protocol}://${req.get('host')}${path.resolve('/', Model.modelType(), document.slug, 'auth-callback')}`,
passReqToCallback: সত্য,
প্রোফাইল ফিল্ড: ['id', 'displayName', 'emails']
}...ফলস্বরূপ, ড্রপবক্স প্রমাণীকরণ এখন আবার কাজ করে এবং আমি গ্রীষ্মের শুরুতে সর্বশেষ চলমান ব্যাকআপের পর থেকে আমার ফোরস্কয়ার/স্বর্ম চেক-ইনগুলির জন্য একটি ব্যাকআপ কাজ চালাতে সক্ষম হয়েছি, আমার ড্রপবক্সে সাম্প্রতিকতমগুলিকে সিঙ্ক করে৷