API:Tutorial/bn

এই টিউটোরিয়ালে, আপনি MediaWiki Action API সম্পর্কে শিখবেন, এটি কীভাবে ব্যবহার করবেন, অনুরোধ বিন্যাস, একটি সাধারণ প্রশ্ন, এবং Action API ব্যবহার করে প্রজেক্টের উদাহরণ।

Toolforge-এ ডেমো অ্যাপ ব্রাউজ করুন

মিডিয়াউইকি Action API-র ওভারভিউ
মিডিয়াউইকি Action API হল একটি RESTপূর্ণ web service যা ব্যবহারকারীদের কিছু উইকি-ক্রিয়া সম্পাদন করতে দেয় যেমন পৃষ্ঠা তৈরি, প্রমাণীকরণ, পার্সিং, অনুসন্ধান, ইত্যাদি API বোঝার জন্য একটি ভাল সূচনা পয়েন্ট।

আপনার প্রোগ্রাম উইকি বৈশিষ্ট্যগুলিতে অ্যাক্সেস পেতে API-কে অনুরোধ পাঠায়। উদাহরণস্বরূপ, একটি উইকিতে লগ ইন করুন, একটি পৃষ্ঠা তৈরি করুন এবং সম্পাদনা করুন, একটি শিরোনাম অনুসন্ধান করুন, বিষয়বস্তু পাঠ্য অনুসন্ধান করুন বা বিষয়বস্তু পার্স করুন। Action API তৃতীয় পক্ষের বিকাশকারী, উইকিমিডিয়া এক্সটেনশন বিকাশকারী এবং উইকি সাইট প্রশাসকদের জন্য উপলব্ধ।

এই পৃষ্ঠার ডান সাইডবারে, বিভাগ দ্বারা গোষ্ঠীবদ্ধ, API দ্বারা সমর্থিত অনেক বৈশিষ্ট্য রয়েছে। উইকি সার্ভারে অনুরোধ পাঠানোর আগে, প্রথমে ডেটা ফরম্যাট, ত্রুটি এবং সতর্কতা, এবং Action API FAQ-এর মতো ওভারভিউ পৃষ্ঠাগুলি পড়ুন।

কিভাবে মিডিয়াউইকি Action API ব্যবহার করবেন
আপনি HTTP-র মাধ্যমে ক্লায়েন্ট সাইড থেকে সার্ভারে ডেটার জন্য অনুরোধ করতে পারেন এবং একটি আদর্শ বিন্যাসে (সাধারণত JSON) প্রতিক্রিয়া পেতে পারেন। একটি অনুরোধ একটি শেষ পয়েন্ট এবং পরামিতিগুলির একটি সেট নিয়ে গঠিত। দুই ধরনের অনুরোধ করা যেতে পারে: GET এবং POST। একটি GET অনুরোধের জন্য, একটি প্যারামিটারে URL-এ একটি ক্যোয়ারী স্ট্রিং থাকবে। একটি POST অনুরোধের জন্য, প্যারামিটারগুলিকে JSON বিন্যাসে বিন্যাস করুন।

অনুরোধ বিন্যাস
সমস্ত উইকিমিডিয়া উইকির এই বিন্যাসে  এন্ডপয়েন্ট রয়েছে। মিডিয়াউইকি প্রধান সাইট বা ইংরেজি উইকিপিডিয়ায় কাজ করতে, সংশ্লিষ্ট এন্ডপয়েন্ট ব্যবহার করুন। উদাহরণ স্বরূপ, ইংরেজি উইকিপিডিয়ার মূল্য   হল নতুন অ্যাকাউন্ট পরীক্ষা করার জন্য বা পৃষ্ঠাগুলিতে সম্পাদনা পরীক্ষা করার জন্য, পরীক্ষা উইকি এন্ডপয়েন্ট   ব্যবহার করুন।

URL-এর ক্যোয়ারী স্ট্রিং-এ  প্যারামিটার যোগ করুন। এটি API কে বলে যে কোন ক্রিয়াটি সম্পাদন করতে হবে। সবচেয়ে জনপ্রিয় অ্যাকশন হল   (ইউআরএলে ) থাকবে, যা উইকি থেকে ডেটা আনার অনুমতি দেয়।   প্যারামিটার অনুসরণ করে, আপনি তিনটি ক্যোয়ারী মডিউল প্রকারের মধ্যে কোনটি সম্পাদন করতে চান তা নির্দেশ করতে অন্য প্যারামিটার যোগ করুন:


 * - পৃষ্ঠাগুলির বৈশিষ্ট্য পান
 * - একটি নির্দিষ্ট মানদণ্ডের সাথে মিলে যাওয়া পৃষ্ঠাগুলির তালিকা পান
 * - উইকি এবং ব্যবহারকারী সম্পর্কে মেটা তথ্য পান

অবশেষে,  প্যারামিটার অন্তর্ভুক্ত করুন, যা API-কে বলে যে কোন ফর্ম্যাটে ফলাফল পেতে হবে। প্রস্তাবিত বিন্যাস হল JSON। এপিআই অতীতে অন্যান্য আউটপুট ফরম্যাট সমর্থিত, কিন্তু সেগুলি সাধারণত সুপারিশ করা হয় না।

একটি সহজ প্রশ্ন
Action API-এর প্রসঙ্গে একটি সাধারণ GET অনুরোধ এবং প্রতিক্রিয়া কেমন হবে তা বোঝার জন্য একটি সাধারণ প্রশ্নের উদাহরণ নেওয়া যাক।

আসুন উইকিতে একটি শিরোনাম অনুসন্ধান করি। আমরা -এ নথিভুক্ত  মডিউল ব্যবহার করব।

অনুরোধ পান
পৃষ্ঠার শিরোনাম বা -এর সাথে মেলে এমন সামগ্রী অনুসন্ধান করতে, HTTP GET অনুরোধের URLটি হবে:URL-এর প্রতিটি অংশের ব্যাখ্যা:


 * হল মূল শেষ পয়েন্ট। এই ক্ষেত্রে এটি ইংরেজি উইকিপিডিয়া।
 * মানে উইকি থেকে ডেটা আনা।
 * মানে একটি মানদণ্ডের সাথে মিলে যাওয়া পৃষ্ঠাগুলির তালিকা পান৷
 * পৃষ্ঠার শিরোনাম বা বিষয়বস্তু অনুসন্ধান করতে নির্দেশ করে।  একটি URL-এ একটি স্পেস অক্ষর নির্দেশ করে।
 * JSON আউটপুট নির্দেশ করে, যা প্রস্তাবিত আউটপুট বিন্যাস।

প্রতিক্রিয়া
প্রতিক্রিয়া হল একটি JSON ফরম্যাট নথি যার সাথে পৃষ্ঠার শিরোনামগুলির একটি তালিকা যা Craig Noone-এর সাথে মেলে:

Action API ব্যবহার করে প্রকল্পের উদাহরণ
উইকিমিডিয়ার কিছু প্রকল্পের উদাহরণ যা Action API ব্যবহার করে:


 * উইকিপিডিয়া iOS অ্যাপ, যার মধ্যে একটি বৈশিষ্ট্য হল আপনার অবস্থানের কাছাকাছি উইকি পৃষ্ঠাগুলি অনুসন্ধান করা।
 * বট যেগুলো উইকিতে কাজ করে। Pywikibot পাইথনে লেখা একটি বট ফ্রেমওয়ার্ক যা মিডিয়াউইকি API এর সাথে ইন্টারফেস করে যা অনেক বট বিকাশকারী ব্যবহার করে।
 * উইকি থেকে প্রাপ্ত ডেটা ভিজ্যুয়ালাইজ করার ক্ষেত্রে API ব্যবহার। যেমন এই ঝরঝরে ভিজ্যুয়ালাইজেশন যা উইকিপিডিয়ায় করা রিয়েল টাইম সম্পাদনা দেখায়।

অতিরিক্ত নোট

 * Several sites are using MediaWiki. They might all be running a different version of MediaWiki and in turn the API. Some module parameters supported in one version might be deprecated or removed in others. You could learn about that in each module's documentation via API help module.
 * If you want to make a lot of API calls, and perhaps run very busy and active bots, talk to wiki admins ahead of time, so they do not block you. See list of Administrators of Wikimedia projects. Read more about this topic on.
 * All data modifying actions such as logging, editing or moving a page, and watching or patrolling changes would require tokens. You would need to obtain tokens via to proceed further.

Resources

 * Use Special:APISandbox to experiment with the Action API. You can play around with supported actions, specify a value for parameters, and send requests to the API to see the results on the same page.
 * Wikimedia dumps so you can work with them locally.
 * Read through tutorials: An Introduction to API's and What is REST — A Simple Explanation for Beginners.
 * MediaWiki API help provides auto-generated API documentation of all supported modules.
 * provides an overview of the Action API.
 * Introduction to the MediaWiki API by User:Roan_Kattouw_(WMF) at the San Francisco Hackathon, 2012. This tutorial guide goes along with the video.
 * GitHub: MediaWiki API Demos