বন্ধু লেখক এখানে।
প্রকৃতপক্ষে, আপনি যেমন সন্দেহ করেছিলেন, বন্ধুগুলিতে সমর্থন যোগ করার আগে উবুন্টু অনলাইন অ্যাকাউন্টগুলিতে সহায়তা প্রয়োজন। বন্ধুরা আর্কিটেকচারটি সমস্ত অনুমোদন করতে এবং আমাদের জন্য সমস্ত এপিআই কী পরিচালনা করতে ইউওএ-র উপর খুব বেশি নির্ভর করে। আমার প্রিয় উদাহরণটি লিঙ্কডইন, কারণ এটি এখন পর্যন্ত একমাত্র প্রোটোকল যা সম্প্রদায়টি অবদান রেখেছিল। ইউওএ প্লাগইনটি বেশিরভাগ মাত্র দুটি এক্সএমএল ফাইল, প্লাস্টিকের সাথে অটোকনফ ট্রিকির সামান্য বিট। (ভিন্নতার জন্য কিছুটা নিচে স্ক্রোল করুন, যা লিঙ্কডইনকে কাজ করার জন্য যুক্ত করা দরকার এমন প্রতিটি জিনিস স্পষ্টভাবে দেখায়)।
একবার আপনার প্রোটোকলের জন্য একই কাজটি করার পরে, আপনাকে lp: একাউন্ট-প্লাগইনগুলির বিপরীতে মার্জ করার প্রস্তাব দিতে হবে এবং মার্ডিকে সেগুলি পর্যালোচনা, অনুমোদন এবং মার্জ করার জন্য পেতে হবে। এটি একবার হয়ে গেলে আপনি বন্ধু প্লাগইন লিখতে শুরু করতে পারেন যা পাইথন 3-এ লেখা হবে।
বন্ধুরা গুইবারের সাথে পরিচিত করায় এখন একটি বড়, বড় উন্নতি হ'ল সাবক্ল্যাস। মূল গুইবার কোডে সাবক্লাসের সাথে একেবারে কিছুই করা হয়নি, সুতরাং প্রতিটি নতুন প্রোটোকল প্লাগইন ছিল নিম্ন স্তরের কার্যকারিতার বিভিন্ন বিটের বিশাল কপি এবং পেস্ট হ্যাকজব। বন্ধুদের বাস্তবায়ন করার সময়, আমি সাধারণ কার্যকারিতাটিকে একটি সুপারক্লাসে বের করার জন্য খুব যত্ন নিয়েছিলাম, যা সহজেই উপশৃঙ্খল এবং সংশোধন করা যায়। সুপারক্লাসে বেশ কয়েকটি ডকাস্ট্রিং রয়েছে, যা শুরু করার সময় আপনার উল্লেখ করা উচিত। দুর্ভাগ্যক্রমে আমরা এগুলিকে এখনও কোথাও প্রকাশের জন্য স্ফিংস সেট আপ করি নি, সুতরাং আপনাকে এখনই কোডটি পড়তে হবে।
কিছু গুরুত্বপূর্ণ বিষয় মনে রাখতে হবে তা হল আপনার শ্রেণীর নামটি ব্যবহৃত "সরবরাহকারীর সাথে" মিলবে, সংবেদনশীলতার সাথে। সুতরাং আপনি যদি সরবরাহকারীর নামটিকে সংজ্ঞায়িত করেন instagram
তবে আপনার ফাইলটি তৈরি করা উচিত protocols/instagram.py
এবং আপনার পাইথন ক্লাসটির নাম রাখা উচিত Instagram
।
আপনার প্লাগইনটি আসলে কিছু করার জন্য আপনাকে দুটি কার্যকর পদ্ধতি যা একেবারে প্রয়োগ করতে হবে, বলা হয় _whoami
এবং receive
। এগুলি বেস.পিতে (উপরের লিঙ্কযুক্ত) ভালভাবে নথিভুক্ত করা হয়েছে, তবে মূলত _whoami
পদ্ধতিটি স্বয়ংক্রিয়ভাবে কল হবে এবং একটি ডিকের মধ্যে দিয়ে যাবে যা একটি ইতিমধ্যে পার্সড জেএসএন ব্লবকে উপস্থাপন করে যা আমাদের কাছে যখন প্রমাণীকরণ ঘটেছিল সেবার দ্বারা প্রদত্ত হয়েছিল। আপনি যদি ভাগ্যবান হন তবে সেই ডিকটিতে আপনার ইনস্টাগ্রামের ব্যবহারকারীর নাম, ব্যবহারকারীর আইডি এবং প্রদর্শনের নাম থাকবে, তবে তা না হলে আপনাকে তথ্য সংগ্রহ করার জন্য একটি মাধ্যমিক এপিআই কল করতে হবে। দয়া Facebook._whoami
করে এমন কোনও প্রোটোকলের উদাহরণ দেখুন যা সামনে তথ্য সরবরাহ করে না এবং পদ্ধতির মধ্যে থেকে একটি অতিরিক্ত এপিআই কল প্রয়োজন এবং দেখুনTwitter._whoami
এমন একটি প্রোটোকলের উদাহরণের জন্য যা আমাদের সামনে সমস্ত মুহুর্তের প্রয়োজনীয় বিবরণ দেয়।
এরপরে, receive
পদ্ধতিটি এপিআই কল করার জন্য দায়বদ্ধ যা নতুন বার্তাগুলির জন্য পরিষেবাটি পোল করে। এটি একটুখানি ফ্রি-ফর্ম, কারণ প্রতিটি REST এপিআই কিছুটা আলাদা হয়, তাই এখানে ঠিক কী করা দরকার তা নির্ধারণ করার জন্য আপনার ওয়েবসাইটের এপিআই ডক্সটি উল্লেখ করা উচিত। Http.py এ আমরা সরবরাহ করি Uploader
এবং Downloader
ক্লাসগুলি যা REST এপিআই কলগুলি সহজ করে তোলে এবং আপনার জন্য জেএসওএন সার্ভার প্রতিক্রিয়াগুলিও পার্স করতে পারে। এই সুবিধাগুলি ক্লাসগুলি ব্যবহার করা গুরুত্বপূর্ণ কারণ এগুলি মোড়ানো libsoup
, যা জিনোম প্রক্সি সেটিংসকে সম্মান করার জন্য কনফিগার করা হয়েছে (আপনি স্মরণ করতে পারেন যে গুইবারের প্রক্সি সমর্থন সর্বদা কতটা ভয়ঙ্কর ছিল, আমরা এখন সেগুলি সব ঠিক করেছি)।
একবার সার্ভারের থেকে API এর প্রতিক্রিয়াটি পেয়ে গেলে, আপনার এটি আমাদের ডিমোডেলে (আপনার বার্তাগুলি সংরক্ষণের জন্য স্কুইলাইট ডিবিতে ফেলে দেওয়া জেএসওএন ব্লব ব্যবহার করার পরে, আমরা একটি ডিমোডেল ব্যবহার করছি, যা মূলত কেবল একটি ডাটাবেস যা একাধিক ক্লায়েন্টের পক্ষে বার্তা ডেটা সহজেই প্রদর্শন করা সহজ করে দেয়) ডিবিবাস জুড়ে রাজ্য ভাগ করে দেয়। আমরা একটি নতুন বার্তা "প্রকাশনা" সংরক্ষণের কাজটিকে বলি, এবং আমরা এটিতে একটি সুবিধার পদ্ধতি সরবরাহ করি Base._publish
। মূলত আপনাকে যা করতে হবে তা হ'ল শূন্যস্থান পূরণ করতে হবে, যথাসম্ভব যথাসম্ভব তথ্য যতটা সম্ভব কলামে পূরণ করা হয়েছে তা নিশ্চিত করুন। _ প্রকাশের সম্ভাব্য আর্গুমেন্টগুলি স্কিমে সংজ্ঞায়িত করা হয়েছে , এবং আবার বিদ্যমান প্লাগইনগুলি এটি কী করে তা দেখতে আপনি উল্লেখ করতে পারেন।
একবারে এগুলি অর্জন করার পরে, এটির পরীক্ষা করার পক্ষে আপনার পর্যাপ্ত পরিমাণ থাকা উচিত। tools
উত্স গাছের মধ্যে থেকে আপনার কোডটি চালানো সহজ করার জন্য আমরা ডিরেক্টরিতে একটি দম্পতি সরঞ্জাম সরবরাহ করি, তাই প্রতিবার আপনি পরিবর্তন করতে চাইলে আপনাকে সিস্টেমে এটি ইনস্টল করতে হবে না। আপনার যা করা উচিত তা হল একটি টার্মিনাল খুলুন, উত্স গাছের গোড়ায় সিডি করুন এবং চালান ./tools/debug_slave.py
। এটি যা করে তা ডিমোডেলের সাথে সংযোগ স্থাপন করে এবং এর সাথে ঘটে যাওয়া সমস্ত কিছুই প্রদর্শন করে, যাতে আপনি বার্তাগুলি আসার সাথে সাথেই সরাসরি প্রদর্শিত হতে পারেন Then তারপরে, দ্বিতীয় টার্মিনালে, আবার উত্স গাছের গোড়ায় সিডি করুন, এবং রান করুন ./tools/debug_live.py instagram receive
এবং এটি ম্যানুয়ালি ইনস্টাগ্রামটি গ্রহণ করবে method পদ্ধতিটি গ্রহণ করবে এবং কী চলছে সে সম্পর্কে আপনাকে জানাতে একগুচ্ছ ডিবাগিং আউটপুট প্রদর্শন করবে (কলগুলিতে আপনি আপনার কোডটি ছিটিয়ে দিতে পারেনlog.debug("hi")
যদি আপনি কী ঘটে তার আরও বিশদ দেখতে চান))
ওহ, এবং আপনি এখনও পড়তে থাকলে, লিঙ্কডিন প্লাগইনটি এখনও ট্রাঙ্কে অবতরণ করেনি, তবে আপনি এখানে এটি একবার দেখে নিতে পারেন।
আপনার যদি অন্য কোনও প্রশ্ন থাকে তবে আমি সবসময় ফ্রিইনডে # গিগিবারে থাকি এবং আমি দৃ strongly়ভাবে মনে করি যে নতুন কোডবেস গুইবারের যা কিছু ছিল তার চেয়ে অনেক বেশি পঠনযোগ্য এবং আরও ভাল ডকুমেন্টেড, সুতরাং দয়া করে সেখানকার কোডটি পড়ুন এবং এটি করা উচিত নয় ' উদাহরণস্বরূপ শিখতে খুব কঠিন হবে না। ফেসবুক এবং টুইটার সর্বাধিক সম্পূর্ণ।
আপনার আগ্রহের জন্য বন্ধুরা ধন্যবাদ!