বিকাশকারীর নির্দেশিকা: প্রোটোকল

ব্লগার ডেটা API ক্লায়েন্ট অ্যাপ্লিকেশনগুলিকে Google ডেটা API ফিডের আকারে ব্লগার সামগ্রী দেখতে এবং আপডেট করার অনুমতি দেয়৷

আপনার ক্লায়েন্ট অ্যাপ্লিকেশন নতুন ব্লগ পোস্ট তৈরি করতে, বিদ্যমান ব্লগ পোস্টগুলি সম্পাদনা করতে বা মুছে ফেলতে এবং নির্দিষ্ট মানদণ্ডের সাথে মেলে এমন ব্লগ পোস্টগুলির জন্য অনুসন্ধান করতে Blogger Data API ব্যবহার করতে পারে৷

ব্লগার ডেটা API-এর ক্ষমতার উপর কিছু পটভূমি প্রদান করার পাশাপাশি, এই নথিটি কাঁচা XML এবং HTTPS ব্যবহার করে মৌলিক ডেটা API ইন্টারঅ্যাকশনের উদাহরণ প্রদান করে। এই নথিটি পড়ার পরে, আপনি এই বিকাশকারীর গাইডের প্রোগ্রামিং-ভাষা-নির্দিষ্ট বিভাগগুলি পড়ে আমাদের ক্লায়েন্ট লাইব্রেরি ব্যবহার করে API-এর সাথে ইন্টারঅ্যাক্ট করার বিষয়ে আরও জানতে চাইতে পারেন।

বিষয়বস্তু

শ্রোতা

এই দস্তাবেজটি এমন প্রোগ্রামারদের জন্য যারা ক্লায়েন্ট অ্যাপ্লিকেশন লিখতে চান যা ব্লগারের সাথে XML এবং HTTPS ব্যবহার করে ইন্টারঅ্যাক্ট করতে পারে৷

এই নথিটি অনুমান করে যে আপনি Google Data APIs প্রোটোকলের পিছনে সাধারণ ধারণাগুলি বোঝেন।

আপনি যদি একটি UNIX সিস্টেম ব্যবহার করেন এবং আপনি কোনো কোড না লিখে এই নথিতে উদাহরণগুলি চেষ্টা করতে চান, তাহলে আপনি UNIX কমান্ড-লাইন ইউটিলিটি curl বা wget দরকারী খুঁজে পেতে পারেন; আরও তথ্যের জন্য, সেই ইউটিলিটিগুলির জন্য ম্যানুয়াল পৃষ্ঠাগুলি দেখুন৷

ব্লগার ডেটা API রেফারেন্স তথ্যের জন্য, প্রোটোকল রেফারেন্স গাইড দেখুন।

শুরু হচ্ছে

একটি ব্লগার অ্যাকাউন্ট তৈরি করা

আপনি পরীক্ষার উদ্দেশ্যে একটি ব্লগার অ্যাকাউন্টের জন্য সাইন আপ করতে চাইতে পারেন। ব্লগার Google অ্যাকাউন্ট ব্যবহার করে, তাই আপনার যদি ইতিমধ্যেই একটি Google অ্যাকাউন্ট থাকে, তাহলে আপনি প্রস্তুত।

অনুরোধ অনুমোদন

যখন আপনার অ্যাপ্লিকেশন অ-সর্বজনীন ব্যবহারকারী ডেটার জন্য অনুরোধ করে, তখন এটিতে অবশ্যই একটি অনুমোদন টোকেন অন্তর্ভুক্ত থাকতে হবে। টোকেনটি Google-এ আপনার আবেদনকেও শনাক্ত করে।

অনুমোদন প্রোটোকল সম্পর্কে

আমরা অনুরোধ অনুমোদন করতে OAuth 2.0 ব্যবহার করার পরামর্শ দিই।

ব্লগার GData API পুরানো অনুমোদনের বিকল্পগুলিকেও সমর্থন করে, যেমন OAuth 1.0 , AuthSub , বা ClientLogin ; যাইহোক, বেশিরভাগ ক্ষেত্রে আমরা সেই অন্যান্য বিকল্পগুলি ব্যবহার করার পরামর্শ দিই না। যদি আপনার অ্যাপ্লিকেশন ইতিমধ্যেই এই বিকল্পগুলি ব্যবহার করে থাকে, আমরা যদি সম্ভব হয় OAuth 2.0 এ স্থানান্তরিত করার পরামর্শ দিই৷

যদি আপনার অ্যাপ্লিকেশনের কিছু অস্বাভাবিক অনুমোদনের প্রয়োজনীয়তা থাকে, যেমন ডেটা অ্যাক্সেসের অনুরোধ করার সময় একই সময়ে লগ ইন করা ( হাইব্রিড ) বা ডোমেন-ওয়াইড অথরিটির প্রতিনিধিত্ব ( 2LO ), তাহলে আপনি বর্তমানে OAuth 2.0 টোকেন ব্যবহার করতে পারবেন না। এই ধরনের ক্ষেত্রে, আপনাকে অবশ্যই OAuth 1.0 টোকেন ব্যবহার করতে হবে।

OAuth 2.0 এর মাধ্যমে অনুরোধ অনুমোদন করা হচ্ছে

অ-পাবলিক ব্যবহারকারীর ডেটার জন্য ব্লগার GData API-তে অনুরোধগুলি অবশ্যই একজন প্রমাণীকৃত ব্যবহারকারী দ্বারা অনুমোদিত হতে হবে।

OAuth 2.0-এর জন্য অনুমোদন প্রক্রিয়ার বিশদ বিবরণ বা "প্রবাহ" আপনি কোন ধরনের অ্যাপ্লিকেশন লিখছেন তার উপর নির্ভর করে কিছুটা পরিবর্তিত হয়। নিম্নলিখিত সাধারণ প্রক্রিয়া সব ধরনের আবেদনের ক্ষেত্রে প্রযোজ্য:

  1. আপনি যখন আপনার অ্যাপ্লিকেশন তৈরি করেন, আপনি এটি Google-এর সাথে নিবন্ধন করেন । Google তারপরে আপনার প্রয়োজন হবে এমন তথ্য প্রদান করে, যেমন একটি ক্লায়েন্ট আইডি এবং একটি ক্লায়েন্ট গোপন।
  2. যখন আপনার অ্যাপ্লিকেশনটির ব্যবহারকারীর ডেটাতে অ্যাক্সেসের প্রয়োজন হয়, তখন এটি Google কে অ্যাক্সেসের একটি নির্দিষ্ট সুযোগের জন্য জিজ্ঞাসা করে।
  3. Google ব্যবহারকারীর কাছে একটি OAuth ডায়ালগ প্রদর্শন করে, তাদের কিছু ডেটা অনুরোধ করার জন্য আপনার অ্যাপ্লিকেশনটিকে অনুমোদন করতে বলে৷
  4. যদি ব্যবহারকারী অনুমোদন করেন, তাহলে Google আপনার অ্যাপ্লিকেশনকে একটি স্বল্পকালীন অ্যাক্সেস টোকেন দেয়
  5. আপনার অ্যাপ্লিকেশন ব্যবহারকারীর ডেটা অনুরোধ করে, অনুরোধে অ্যাক্সেস টোকেন সংযুক্ত করে।
  6. যদি Google নির্ধারণ করে যে আপনার অনুরোধ এবং টোকেন বৈধ, এটি অনুরোধ করা ডেটা ফেরত দেয়।

কিছু প্রবাহে অতিরিক্ত পদক্ষেপ অন্তর্ভুক্ত থাকে, যেমন নতুন অ্যাক্সেস টোকেন অর্জন করতে রিফ্রেশ টোকেন ব্যবহার করে। বিভিন্ন ধরনের অ্যাপ্লিকেশনের জন্য প্রবাহ সম্পর্কে বিস্তারিত তথ্যের জন্য, Google এর OAuth 2.0 ডকুমেন্টেশন দেখুন।

ব্লগার GData API-এর জন্য এখানে OAuth 2.0 স্কোপের তথ্য রয়েছে:

https://www.blogger.com/feeds/

OAuth 2.0 ব্যবহার করে অ্যাক্সেসের অনুরোধ করতে, আপনার অ্যাপ্লিকেশনের সুযোগের তথ্যের প্রয়োজন, সেইসাথে অ্যাপ্লিকেশন নিবন্ধনের সময় Google সরবরাহ করে এমন তথ্য (যেমন ক্লায়েন্ট আইডি এবং/অথবা ক্লায়েন্ট সিক্রেট)।

টিপ: Google APIs ক্লায়েন্ট লাইব্রেরিগুলি আপনার জন্য কিছু অনুমোদন প্রক্রিয়া পরিচালনা করতে পারে৷ তারা বিভিন্ন প্রোগ্রামিং ভাষার জন্য উপলব্ধ; আরও বিস্তারিত জানার জন্য লাইব্রেরি এবং নমুনা পৃষ্ঠা দেখুন।

একটি সংস্করণ নির্দিষ্ট করা হচ্ছে

ব্লগার ডেটা API ব্যবহার করে আপনি যে অনুরোধ পাঠান তাতে API-এর সংস্করণ 2 উল্লেখ করা উচিত।

একটি সংস্করণ নম্বর নির্দিষ্ট করতে, GData-Version HTTP হেডার ব্যবহার করুন:

GData-Version: 2

বিকল্পভাবে, আপনি যদি HTTP হেডার সেট করতে না পারেন, তাহলে আপনি URL-এ একটি ক্যোয়ারী প্যারামিটার হিসেবে v=2 নির্দিষ্ট করতে পারেন। কিন্তু যেখানে সম্ভব HTTP হেডার পছন্দ করা হয়।

দ্রষ্টব্য : ক্লায়েন্ট লাইব্রেরিগুলি স্বয়ংক্রিয়ভাবে উপযুক্ত সংস্করণ শিরোনাম সরবরাহ করে, তাই আপনি যখন ক্লায়েন্ট লাইব্রেরি ব্যবহার করছেন তখন v=2 ক্যোয়ারী প্যারামিটার ব্যবহার করবেন না।

ব্লগের একটি তালিকা পুনরুদ্ধার করা হচ্ছে

ব্লগার ডেটা এপিআই একটি ফিড প্রদান করে যা একটি নির্দিষ্ট ব্যবহারকারীর জন্য ব্লগের তালিকা করে; সেই ফিডটি "মেটাফিড" নামে পরিচিত।

ব্লগের তালিকা পুনরুদ্ধার করতে নিম্নলিখিত URL-এ একটি HTTP GET পাঠান:

https://www.blogger.com/feeds/profileID/blogs

যেখানে প্রোফাইল আইডি ব্যবহারকারীর প্রোফাইল পৃষ্ঠার URL-এর নম্বর।

দ্রষ্টব্য : আপনি ব্যবহারকারী আইডির জন্য default প্রতিস্থাপন করতে পারেন, যা ব্লগারকে অনুরোধের সাথে যে ব্যবহারকারীর শংসাপত্রগুলি রয়েছে তার জন্য ব্লগের তালিকা ফেরত দিতে বলে৷

মেটাফিডে একটি এন্ট্রি দেখতে এইরকম হতে পারে:

<entry gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:user-userNumber.blog-blogID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/profileID/blogs/blogID' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  ...
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
</entry>

এই উপাদানগুলির প্রত্যেকটির অর্থ কী সে সম্পর্কে তথ্যের জন্য, Google Data APIs প্রোটোকল রেফারেন্স নথি বা Atom 1.0 স্পেসিফিকেশন দেখুন।

আপনার অনুরোধ কোনো কারণে ব্যর্থ হলে, ব্লগার একটি ভিন্ন স্ট্যাটাস কোড ফেরত দিতে পারে। এইচটিটিপি স্ট্যাটাস কোড সম্পর্কে আরও তথ্য Google ডেটা API প্রোটোকল রেফারেন্স নথিতেও পাওয়া যায়।

পোস্ট তৈরি করা হচ্ছে

ব্লগার ডেটা API আপনাকে নতুন ব্লগ এন্ট্রি তৈরি এবং প্রকাশ করার পাশাপাশি এন্ট্রিগুলির খসড়া তৈরি করার অনুমতি দেয়৷

একটি ব্লগ পোস্ট প্রকাশ

প্রমাণীকরণের পরে, আপনি নতুন ব্লগ এন্ট্রি প্রকাশ করতে পারেন।

প্রথমে, প্রকাশ করার জন্য পোস্টের একটি XML উপস্থাপনা তৈরি করুন। এই XML একটি Atom <entry> উপাদানের আকারে হওয়া দরকার, যা দেখতে এইরকম হতে পারে:

<entry xmlns='http://www.w3.org/2005/Atom'>
  <title type='text'>Marriage!</title>
  <content type='xhtml'>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Mr. Darcy has <em>proposed marriage</em> to me!</p>
      <p>He is the last man on earth I would ever desire to marry.</p>
      <p>Whatever shall I do?</p>
    </div>
  </content>
  <category scheme="http://www.blogger.com/atom/ns#" term="marriage" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
</entry>

দ্রষ্টব্য : পোস্টের জন্য একটি কাস্টম লেখক সেট করা বর্তমানে সমর্থিত নয়৷ সমস্ত নতুন পোস্ট এমনভাবে প্রদর্শিত হবে যেন সেগুলি বর্তমানে প্রমাণীকৃত ব্যবহারকারী দ্বারা তৈরি করা হয়েছে৷

এই এন্ট্রিটি প্রকাশ করতে, ব্লগের পোস্ট URL-এ নিম্নরূপ পাঠান। প্রথমে, application/atom+xml কন্টেন্ট টাইপ ব্যবহার করে একটি নতুন POST অনুরোধের বডিতে আপনার Atom <entry> উপাদান রাখুন। তারপরে <link> উপাদানটি সনাক্ত করে মেটাফিডে ব্লগের পোস্টের URL খুঁজুন যেখানে rel বৈশিষ্ট্যটি #post দিয়ে শেষ হয়। ব্লগের পোস্ট URL এই উপাদানটির href বৈশিষ্ট্য হিসাবে দেওয়া হয়েছে, যা এই বিন্যাসে রয়েছে:

https://www.blogger.com/feeds/blogID/posts/default

দ্রষ্টব্য : এই URL টি <link rel="service.post"> ট্যাগের URL এর মতই যা ব্লগের মানব-পাঠযোগ্য সংস্করণের <head> বিভাগে প্রদর্শিত হয়৷

ব্লগার আপনার পাঠানো এন্ট্রি ব্যবহার করে একটি ব্লগ পোস্ট তৈরি করে, তারপর একটি <entry> উপাদানের আকারে নতুন পোস্টের একটি অনুলিপি সহ একটি HTTP 201 CREATED স্ট্যাটাস কোড ফেরত দেয়। ফেরত দেওয়া এন্ট্রিটি আপনার পাঠানো একই, তবে এতে ব্লগার দ্বারা যোগ করা বিভিন্ন উপাদান রয়েছে, যেমন একটি <id> উপাদান।

আপনার অনুরোধ কোনো কারণে ব্যর্থ হলে, ব্লগার একটি ভিন্ন স্ট্যাটাস কোড ফেরত দিতে পারে। স্ট্যাটাস কোড সম্পর্কে তথ্যের জন্য, Google Data API প্রোটোকল রেফারেন্স ডকুমেন্ট দেখুন।

একটি খসড়া ব্লগ পোস্ট তৈরি করা হচ্ছে

ড্রাফ্ট পোস্টগুলি পাবলিক পোস্টের মতোই তৈরি করা হয়, কিন্তু একটি <app:control> উপাদান যুক্ত করা হয় যা নির্দেশ করে যে পোস্টটি (এখনও) প্রকাশ করা উচিত নয়।

এই <app:control> উপাদানটিতে একটি শিশু হিসাবে একটি একক <app:draft> উপাদান থাকা উচিত:

<app:control xmlns:app='http://www.w3.org/2007/app'>
  <app:draft>yes</app:draft>
</app:control>

পোস্টটি খসড়া হিসাবে স্বীকৃত হওয়ার জন্য <app:draft> উপাদানটিতে থাকা ডেটা অবশ্যই yes স্ট্রিং হতে হবে।

আপনি খসড়া পোস্ট পুনরুদ্ধার করে, স্ট্রিং no <app:draft> উপাদানের ডেটা সেট করে এবং তারপর পোস্টটি আপডেট করে একটি বিদ্যমান খসড়া ব্লগ পোস্টকে একটি প্রকাশিত পোস্টে পরিণত করতে পারেন। পোস্ট পুনরুদ্ধার করা এবং আপডেট করা পরবর্তী দুটি বিভাগে কভার করা হয়েছে।

দ্রষ্টব্য : অ্যাটম পাবলিশিং প্রোটোকল সম্পর্কে আরও তথ্যের জন্য, <app:control> এবং <app:draft> নামস্থান সহ, RFC 5023 দেখুন।

পোস্ট পুনরুদ্ধার করা হচ্ছে

নিম্নলিখিত বিভাগগুলি বর্ণনা করে যে কীভাবে ব্লগ পোস্টগুলির একটি তালিকা পুনরুদ্ধার করা যায়, ক্যোয়ারী প্যারামিটার সহ এবং ছাড়াই৷

আপনি প্রমাণীকরণ ছাড়াই একটি ব্লগার পাবলিক ফিড জিজ্ঞাসা করতে পারেন৷ অতএব, আপনি যখন একটি সর্বজনীন ব্লগ থেকে ব্লগ পোস্ট পুনরুদ্ধার করবেন তখন আপনাকে অনুমোদনের প্যারামিটার সেট করতে হবে না।

সমস্ত ব্লগ পোস্ট পুনরুদ্ধার করা হচ্ছে

ব্যবহারকারীর পোস্টগুলি পুনরুদ্ধার করতে, ব্লগের ফিড URL-এ একটি HTTP GET অনুরোধ পাঠান৷ ব্লগার তারপর উপযুক্ত ব্লগ এন্ট্রি সমন্বিত একটি ফিড ফেরত দেয়। উদাহরণস্বরূপ, liz@gmail.com-এর জন্য ব্লগ পোস্টের একটি তালিকা পেতে, ব্লগারকে নিম্নলিখিত HTTP অনুরোধ পাঠান (অবশ্যই blogID এর জায়গায় উপযুক্ত মান সহ):

GET https://www.blogger.com/feeds/blogID/posts/default

ব্লগার তারপরে একটি HTTP 200 OK স্ট্যাটাস কোড এবং ব্লগ পোস্ট সমন্বিত একটি স্ট্যান্ডার্ড অ্যাটম 1.0 ফিড প্রদান করে।

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

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <subtitle type='html'></subtitle>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www2.blogger.com'>Blogger</generator>
  <entry gd:etag='W/"D0YHRn84eip7ImA9WxZUFk8."'>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <published>2008-04-07T20:25:00.005-07:00</published>
    <updated>2008-04-07T20:25:37.132-07:00</updated>
    <title>Quite disagreeable</title>
    <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
      this evening. I found him quite disagreeable.&lt;/p&gt;</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2008/04/quite-disagreeable.html' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>noreply@blogger.com</email>
    </author>
  </entry>
</feed>

আবার একটি ব্লগ পোস্ট পুনরুদ্ধার করা হচ্ছে

আপনি যদি একটি পোস্ট পুনরুদ্ধার করতে চান যা আপনি আগে পুনরুদ্ধার করেছেন, তাহলে আপনি ব্লগারকে পোস্টটি পাঠাতে বলার মাধ্যমে দক্ষতা উন্নত করতে পারেন যদি আপনি শেষবার এটি পুনরুদ্ধার করার পর থেকে এটি পরিবর্তিত হয়।

এই ধরণের শর্তসাপেক্ষ পুনরুদ্ধার করতে, একটি HTTP GET অনুরোধ পাঠান যাতে একটি HTTP If-None-Match শিরোনাম অন্তর্ভুক্ত থাকে। হেডারে, এন্ট্রির ETag নির্দিষ্ট করুন, যা আপনি <entry> উপাদানের gd:etag বৈশিষ্ট্যে খুঁজে পেতে পারেন।

উদাহরণ স্বরূপ:

If-None-Match: W/"D08FQn8-eil7ImA9WxZbFEw."

ব্লগার যখন এই অনুরোধটি পায়, তখন এটি পরীক্ষা করে যে আপনি যে এন্ট্রির অনুরোধ করেছেন সেটিতে আপনার নির্দিষ্ট করা ETag-এর মতো একই ETag আছে কিনা। যদি ETags মিলে যায়, তাহলে এন্ট্রিটি পরিবর্তিত হয় নি এবং ব্লগার একটি HTTP 304 Not Modified স্ট্যাটাস কোড প্রদান করে।

যদি ETags মেলে না, তাহলে আপনি শেষবার অনুরোধ করার পর থেকে এন্ট্রিটি সংশোধন করা হয়েছে এবং Blogger এন্ট্রিটি ফেরত দেয়।

ETags সম্পর্কে আরও তথ্যের জন্য, Google Data APIs রেফারেন্স গাইড দেখুন।

ক্যোয়ারী প্যারামিটার ব্যবহার করে পোস্ট পুনরুদ্ধার করা হচ্ছে

ব্লগার ডেটা এপিআই আপনাকে নির্দিষ্ট মানদণ্ডের সাথে মেলে এমন এন্ট্রিগুলির একটি সেট অনুরোধ করতে দেয়, যেমন একটি প্রদত্ত তারিখের পরিসরে প্রকাশিত বা আপডেট করা ব্লগ পোস্টের অনুরোধ করা।

উদাহরণ স্বরূপ, তারিখ-পরিসরের ক্যোয়ারী পাঠাতে অনুরোধের URL-এ published-min এবং published-max প্যারামিটার যোগ করুন। 16 মার্চ, 2008 থেকে 24 মার্চ, 2008 এর মধ্যে তৈরি সমস্ত ব্লগ এন্ট্রি পেতে, ব্লগের ফিড URL-এ একটি HTTP অনুরোধ পাঠান:

GET https://www.blogger.com/feeds/blogID/posts/default?published-min=2008-03-16T00:00:00&published-max=2008-03-24T23:59:59

আপনি যখন সেই GET অনুরোধটি পাঠান, তখন ব্লগার একটি HTTP 200 OK স্ট্যাটাস কোড এবং আপনার নির্দিষ্ট তারিখের সীমার মধ্যে তৈরি করা যেকোনো ব্লগ পোস্ট ধারণকারী একটি ফিড ফেরত দেয়।

updated-min এবং updated-max পরামিতিগুলি একটি নির্দিষ্ট পরিসরের মধ্যে সমস্ত ব্লগ এন্ট্রি আপডেট করার জন্যও ব্যবহার করা যেতে পারে। যাইহোক, নোট করুন যে এই প্যারামিটারগুলি উপেক্ষা করা হয় যদি না orderby প্যারামিটার updated হয়।

ব্লগার ডেটা API নিম্নলিখিত ক্যোয়ারী প্যারামিটার সমর্থন করে:

alt
ফেরত দেওয়ার জন্য ফিডের ধরন, যেমন atom (ডিফল্ট) বা rss
/category
ফিড ফলাফল ফিল্টার করার জন্য বিভাগগুলি (লেবেল হিসাবেও পরিচিত) নির্দিষ্ট করে৷ উদাহরণস্বরূপ, https://www.blogger.com/feeds/ blogID /posts/default/-/Fritz/Laurie Fritz এবং Laurie উভয় লেবেল সহ এন্ট্রি ফেরত দেয়।
সর্বোচ্চ ফলাফল
ফেরত দেওয়ার জন্য সর্বাধিক সংখ্যক এন্ট্রি।
আদেশ দ্বারা
যে ক্রমটিতে এন্ট্রিগুলি ফেরত দিতে হবে, যেমন lastmodified (ডিফল্ট), starttime বা updated
প্রকাশিত-মিনিট, প্রকাশিত-সর্বোচ্চ
এন্ট্রি প্রকাশনার তারিখের সীমানা।
সূচনা-সূচী
প্রথম ফলাফলের 1-ভিত্তিক সূচক যা পুনরুদ্ধার করা হবে (পেজিংয়ের জন্য)।
আপডেট-মিন, আপডেট-সর্বোচ্চ
এন্ট্রি আপডেট তারিখের সীমানা. এই ক্যোয়ারী প্যারামিটার উপেক্ষা করা হয় যদি না orderby প্যারামিটার updated হয়।
পথ
একটি পোস্টের জন্য পার্মালিঙ্ক পথ। উদাহরণস্বরূপ, URL আছে এমন একটি পোস্টের জন্য http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html, পার্মালিঙ্ক পাথ হল /2011/08/bloggers-fresh-new-look.html
q
সম্পূর্ণ পাঠ্য ক্যোয়ারী স্ট্রিং। এটি আপনাকে একটি প্রশ্নের সাথে মেলে এমন পোস্টগুলির জন্য একটি ব্লগ অনুসন্ধান করতে সক্ষম করে৷

ক্যোয়ারী প্যারামিটার সম্পর্কে আরও তথ্যের জন্য, ব্লগার ডেটা API রেফারেন্স গাইড এবং Google ডেটা API রেফারেন্স গাইড দেখুন।

পোস্ট আপডেট করা হচ্ছে

একটি বিদ্যমান ব্লগ পোস্ট আপডেট করার জন্য, প্রথমে আপনি যে এন্ট্রিটি আপডেট করতে চান তা পুনরুদ্ধার করবেন, তারপরে আপনি এটি সংশোধন করবেন এবং তারপরে আপনি পোস্টের সম্পাদনা URL-এ বার্তার অংশে আপডেট করা এন্ট্রি সহ একটি PUT অনুরোধ পাঠাবেন৷ নিশ্চিত করুন যে আপনি যে এন্ট্রিটি PUT <id> মানটি বিদ্যমান এন্ট্রির <id> সাথে ঠিক মেলে।

সম্পাদনা URL নিম্নলিখিত এন্ট্রিতে হাইলাইট করা হয়েছে:

<entry gd:etag='W/"CUYDSXo8fSp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
  <published>2006-11-08T18:10:00.000-08:00</published>
  <updated>2006-11-08T18:10:14.954-08:00</updated>
  <title type='text'>Quite disagreeable</title>
  <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
    this evening. I found him quite disagreeable.&lt;/p&gt;</content>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default/postID'>
  </link>
  <link rel='edit' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default/postID'>
  </link>
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Bingley" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
</entry>

গুরুত্বপূর্ণ : ফরোয়ার্ড সামঞ্জস্য নিশ্চিত করতে, নিশ্চিত হন যে আপনি যখন একটি PUT এন্ট্রি রাখেন, তখন আপনি ব্লগার থেকে এন্ট্রিটি পুনরুদ্ধার করার সময় উপস্থিত সমস্ত XML সংরক্ষণ করেন৷ অন্যথায়, যখন আমরা নতুন স্টাফ প্রয়োগ করি এবং ফিডে <new-awesome-feature> উপাদানগুলি অন্তর্ভুক্ত করি, আপনার ক্লায়েন্ট সেগুলি ফেরত দেবে না এবং আপনার ব্যবহারকারীরা মিস করবেন। Google Data API ক্লায়েন্ট লাইব্রেরিগুলি সমস্ত এটি সঠিকভাবে পরিচালনা করে, তাই আপনি যদি লাইব্রেরিগুলির একটি ব্যবহার করেন তবে আপনি সম্পূর্ণ প্রস্তুত৷

দ্রষ্টব্য : পোস্টের সাথে যুক্ত লেখক ডেটা পরিবর্তন করা বর্তমানে সমর্থিত নয়।

সমস্যা সমাধানের পরামর্শ : কিছু ফায়ারওয়াল HTTP PUT বার্তাগুলিকে ব্লক করে। এটির কাছাকাছি পেতে, আপনি একটি X-HTTP-Method-Override: PUT শিরোনাম একটি POST অনুরোধে অন্তর্ভুক্ত করতে পারেন৷ বিস্তারিত জানার জন্য, Google Data API প্রোটোকল বেসিক ডকুমেন্ট দেখুন।

পোস্ট মুছে ফেলা হচ্ছে

একটি পোস্ট মুছে ফেলার জন্য, পোস্টের সম্পাদনা URL-এ একটি DELETE অনুরোধ পাঠান৷ এটি পোস্ট আপডেট করতে ব্যবহৃত একই URL।

সমস্যা সমাধানের পরামর্শ : কিছু ফায়ারওয়াল HTTP DELETE বার্তাগুলিকে ব্লক করে। এটির কাছাকাছি পেতে, আপনি একটি X-HTTP-Method-Override: DELETE একটি POST অনুরোধে শিরোনাম মুছুন৷ বিস্তারিত জানার জন্য, Google Data API প্রোটোকল বেসিক ডকুমেন্ট দেখুন।

মন্তব্য

ব্লগার ডেটা API মন্তব্যগুলি তৈরি, পুনরুদ্ধার এবং মুছে ফেলার অনুমতি দেয়৷ মন্তব্য আপডেট করা সমর্থিত নয় (এটি ওয়েব ইন্টারফেসে উপলব্ধ নয়)।

মন্তব্য তৈরি করা হচ্ছে

একটি মন্তব্য পোস্ট করতে, নিম্নলিখিত মত একটি Atom <entry> উপাদান তৈরি করুন:

  <entry xmlns='http://www.w3.org/2005/Atom'>
    <title type="text">This is my first comment</title>
    <content type="html">This is my first comment</content>
  </entry>

এই মন্তব্যটি প্রকাশ করতে, application/atom+xml বিষয়বস্তু প্রকার ব্যবহার করে একটি নতুন POST অনুরোধের মূল অংশে আপনার Atom <entry> উপাদানটি রাখুন। তারপর উপযুক্ত ব্লগার URL-এ POST অনুরোধ পাঠান:

POST https://www.blogger.com/feeds/blogID/postID/comments/default

দ্রষ্টব্য : বর্তমানে, আপনি শুধুমাত্র প্রমাণীকৃত ব্যবহারকারীর মালিকানাধীন ব্লগে মন্তব্য পোস্ট করতে পারেন।

দ্রষ্টব্য : মন্তব্যের জন্য একটি কাস্টম লেখক সেট করা বর্তমানে সমর্থিত নয়৷ সমস্ত নতুন মন্তব্য এমনভাবে প্রদর্শিত হবে যেন সেগুলি বর্তমানে প্রমাণীকৃত ব্যবহারকারী দ্বারা তৈরি করা হয়েছে৷

মন্তব্য পুনরুদ্ধার করা হচ্ছে

আপনি এই পোস্টের মন্তব্য ফিড URL এ একটি GET পাঠিয়ে একটি নির্দিষ্ট পোস্টের জন্য মন্তব্য পুনরুদ্ধার করতে পারেন:

GET https://www.blogger.com/feeds/blogID/postID/comments/default

অথবা আপনি ব্লগের মন্তব্য ফিড URL ব্যবহার করে সমস্ত পোস্ট থেকে মন্তব্য পেতে পারেন:

GET https://www.blogger.com/feeds/blogID/comments/default

এই অনুরোধগুলি এমন একটি মন্তব্য ফিড ফেরত দেয় যা এইরকম দেখায়:

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.postpostID..comments</id>
  <updated>2007-12-14T17:46:22.077-08:00</updated>
  <title>Comments on Lizzy's Diary: Quite disagreeable</title>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/postID/comments/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/postID/comments/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www.blogger.com'>Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry gd:etag='W/"CUYCQX47eSp7ImA9WB9UFkU."'>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-12-14T17:46:00.001-08:00</published>
    <updated>2007-12-14T17:46:00.001-08:00</updated>
    <title>Darcy FTW!</title>
    <content type='html'>Darcy FTW!</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html?showComment=1197683160001#ccommentID'
      title='' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>liz@gmail.com</email>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html'
      ref='tag:blogger.com,1999:blog-blogID.post-postID'
      source='http://www.blogger.com/feeds/blogID/posts/default/postID'
      type='text/html' />
  </entry>
</feed>

মন্তব্য মুছে ফেলা হচ্ছে

একটি মন্তব্য মুছে ফেলতে, মন্তব্যের সম্পাদনা URL-এ একটি DELETE অনুরোধ পাঠান৷ এই URLটি উপরে মন্তব্য ফিডে হাইলাইট করা হয়েছে।

রপ্তানি বিন্যাস

ব্লগার ব্যবহারকারীদের একটি ব্লগার এক্সপোর্ট ফাইল ব্যবহার করে তাদের ব্লগ রপ্তানি এবং আমদানি করতে দেয়। এই এক্সপোর্ট ফাইলটিতে একটি ব্লগের জন্য সমস্ত পোস্ট এবং মন্তব্য রয়েছে৷ এক্সপোর্ট ফাইলের বিন্যাসটি ঠিক একই অ্যাটম বিন্যাস যা পোস্ট এবং মন্তব্য পুনরুদ্ধার করার বিভাগে বর্ণিত হয়েছে। এই রপ্তানি ফাইলটিতে পোস্ট ফিডের বিষয়বস্তু এবং মন্তব্য ফিডের বিষয়বস্তু একটি নথিতে মিলিত হবে।

এক্সপোর্ট ফরম্যাট ব্যবহার করে ব্লগ ডেটা রপ্তানি বা আমদানি করতে, আপনি ব্লগের সেটিংস পৃষ্ঠায় যেতে পারেন। ডেটা API ব্যবহার করে একটি ব্লগের জন্য এক্সপোর্ট ফাইল পুনরুদ্ধার করতে, নিম্নলিখিত URL ব্যবহার করুন:

GET https://www.blogger.com/feeds/blogID/archive

রপ্তানি ফাইল আমদানি করতে, অনুরোধের ডেটা হিসাবে রপ্তানি ফাইলের বিষয়বস্তু এবং বিষয়বস্তুর প্রকার হিসাবে application/atom+xml সহ নিম্নলিখিত URL-এ একটি POST অনুরোধ তৈরি করুন:

POST https://www.blogger.com/feeds/blogID/archive/full

উপরের সমর্থন ক্যোয়ারী পরামিতিগুলির জন্য URLগুলির মধ্যে একটিও নয়৷ উভয় অনুরোধে অবশ্যই প্রমাণীকরণ তথ্য থাকতে হবে এবং শুধুমাত্র ব্লগ প্রশাসকরা এই ফিড URL ব্যবহার করে ব্লগ আমদানি/রপ্তানি করতে সক্ষম হবেন।

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

ব্লগার কীভাবে এক্সপোর্ট ফাইলে অ্যাটম ফর্ম্যাট ব্যবহার করে সে সম্পর্কে আরও তথ্যের জন্য, প্রোটোকল রেফারেন্স গাইড দেখুন।

উপরে ফিরে যাও