কীভাবে বন্ধুদের নতুন পরিষেবাগুলির জন্য সমর্থন যুক্ত করবেন?


19

উবুন্টুতে নতুন নতুন বন্ধু-অ্যাপ অবতরণের সাথে সাথে আমার কাছে ঘটেছিল যে টাইমলাইনে ইনস্টাগ্রামের জন্য সমর্থন যোগ করা দুর্দান্ত be আমি নিজেও ভেবেছিলাম আমি নিজেই এটিতে ছুরিকাঘাত করতে পারি তবে কোনও ডকুমেন্টেশন খুঁজে পেতে আমার খুব কষ্ট হচ্ছে।

প্রতিটি প্রোটোকল থেকে কী প্রয়োজন তা বর্ণনা করার জন্য কোনও অনুমান রয়েছে? লেখক কীভাবে কাজ করে? প্রথমে উবুন্টু-অনলাইন-অ্যাকাউন্টগুলিতে সমর্থন যুক্ত করা দরকার বা বন্ধুদের নতুন প্রোটোকলটি নিবন্ধ করার কোনও উপায় আছে?

এটি খুব নতুন এবং গুগলের নামের সাথে খুব শক্ত, তাই সঠিক দিকের যে কোনও পয়েন্টার প্রশংসা করা হবে।


আমি এখনই এটি খুঁজে পেতে পারি এটি সেরা: bugs.launchpad.net/ubuntu/+source/friends/+bug/1156979 এবং code.launchpad.net/~robru/gwibber/friends তবে দেখে মনে হচ্ছে আপনি যা ব্যবহার করেছেন তা ব্যবহার করতে পারেন গুইবার (?)
রিনজউইন্ড

তবে সমর্থিত প্রোটোকলগুলির কোডটি বেঁচে আছে বলে মনে হচ্ছে: b بازار.launchpad.net/~super- Friendss / friends / trunk / files / head : /… তবে আমি যা দেখতে চাই তা হল একটি স্পেসিফিকেশন যা ক্ষমতা এবং এর মতো বর্ণনা দেয়। ..
andreswsomething

এটি এখনও প্রথম দিন;)
রিনজউইন্ড

কেউ আমাকে tumblr plz দিন।
খুরশিদ আলম

উত্তর:


34

বন্ধু লেখক এখানে।

প্রকৃতপক্ষে, আপনি যেমন সন্দেহ করেছিলেন, বন্ধুগুলিতে সমর্থন যোগ করার আগে উবুন্টু অনলাইন অ্যাকাউন্টগুলিতে সহায়তা প্রয়োজন। বন্ধুরা আর্কিটেকচারটি সমস্ত অনুমোদন করতে এবং আমাদের জন্য সমস্ত এপিআই কী পরিচালনা করতে ইউওএ-র উপর খুব বেশি নির্ভর করে। আমার প্রিয় উদাহরণটি লিঙ্কডইন, কারণ এটি এখন পর্যন্ত একমাত্র প্রোটোকল যা সম্প্রদায়টি অবদান রেখেছিল। ইউওএ প্লাগইনটি বেশিরভাগ মাত্র দুটি এক্সএমএল ফাইল, প্লাস্টিকের সাথে অটোকনফ ট্রিকির সামান্য বিট। (ভিন্নতার জন্য কিছুটা নিচে স্ক্রোল করুন, যা লিঙ্কডইনকে কাজ করার জন্য যুক্ত করা দরকার এমন প্রতিটি জিনিস স্পষ্টভাবে দেখায়)।

একবার আপনার প্রোটোকলের জন্য একই কাজটি করার পরে, আপনাকে 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়ভাবে মনে করি যে নতুন কোডবেস গুইবারের যা কিছু ছিল তার চেয়ে অনেক বেশি পঠনযোগ্য এবং আরও ভাল ডকুমেন্টেড, সুতরাং দয়া করে সেখানকার কোডটি পড়ুন এবং এটি করা উচিত নয় ' উদাহরণস্বরূপ শিখতে খুব কঠিন হবে না। ফেসবুক এবং টুইটার সর্বাধিক সম্পূর্ণ।

আপনার আগ্রহের জন্য বন্ধুরা ধন্যবাদ!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.