প্রোটোকল বেসিক

সতর্কতা : এই পৃষ্ঠাটি Google-এর পুরানো API, Google Data APIs সম্পর্কে; এটি শুধুমাত্র Google Data APIs ডিরেক্টরিতে তালিকাভুক্ত APIগুলির সাথে প্রাসঙ্গিক, যার মধ্যে অনেকগুলি নতুন API দিয়ে প্রতিস্থাপিত হয়েছে৷ একটি নির্দিষ্ট নতুন API সম্পর্কে তথ্যের জন্য, নতুন API এর ডকুমেন্টেশন দেখুন। একটি নতুন API-এর সাহায্যে অনুরোধ অনুমোদনের বিষয়ে তথ্যের জন্য, Google অ্যাকাউন্ট প্রমাণীকরণ এবং অনুমোদন দেখুন।

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

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

শ্রোতা

এই ডকুমেন্টটি এমন যেকোনও ব্যক্তির জন্য যারা XML ফর্ম্যাট এবং Google Data APIs দ্বারা ব্যবহৃত প্রোটোকলের সাধারণ ধারণা বুঝতে চান।

এমনকি যদি আপনি শুধুমাত্র ভাষা-নির্দিষ্ট ক্লায়েন্ট লাইব্রেরি ব্যবহার করে এমন কোড লিখতে চান, তাহলে ক্লায়েন্ট-লাইব্রেরি বিমূর্তকরণ স্তরের নীচে কী চলছে তা বোঝার জন্য আপনি এই নথিটি পড়তে চাইতে পারেন।

এই দস্তাবেজটি অনুমান করে যে আপনি XML, নেমস্পেস, সিন্ডিকেটেড ফিড এবং HTTP-তে GET , POST , PUT , এবং DELETE অনুরোধগুলি, সেইসাথে HTTP-এর একটি "রিসোর্স" ধারণার বুনিয়াদি বোঝেন৷ এই জিনিসগুলি সম্পর্কে আরও তথ্যের জন্য, এই নথির অতিরিক্ত সংস্থান বিভাগটি দেখুন।

এই নথিটি কোনো নির্দিষ্ট প্রোগ্রামিং ভাষার উপর নির্ভর করে না; আপনার ক্লায়েন্ট যেকোনো প্রোগ্রামিং ভাষা ব্যবহার করে সার্ভারের সাথে ইন্টারঅ্যাক্ট করতে পারে যা আপনাকে HTTP অনুরোধ ইস্যু করতে এবং XML-ভিত্তিক প্রতিক্রিয়া পার্স করতে দেয়।

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

উদাহরণ

নিম্নলিখিত উদাহরণগুলি দেখায় যে HTTP অনুরোধগুলি আপনি সরাসরি Google ডেটা প্রোটোকল API প্রোটোকল ব্যবহার করে একটি জেনেরিক পরিষেবাতে পাঠাতে পারেন এবং ফলাফলগুলি আপনি পেতে পারেন৷ বিভিন্ন প্রোগ্রামিং ভাষা ব্যবহার করে কিভাবে অনুরোধ পাঠাতে হয় তার উদাহরণের জন্য, ভাষা-নির্দিষ্ট নমুনা এবং ক্লায়েন্ট লাইব্রেরি দেখুন। নির্দিষ্ট Google পরিষেবাগুলির সাথে Google ডেটা প্রোটোকল ব্যবহার করার বিষয়ে তথ্যের জন্য, পরিষেবা-নির্দিষ্ট ডকুমেন্টেশন দেখুন৷

একটি ফিড বা অন্য সম্পদ অনুরোধ

ধরে নিন /myFeed নামে একটি ফিড আছে, এবং অনুমান করুন যে এটি বর্তমানে কোনো এন্ট্রি ধারণ করে না। এটি দেখতে, সার্ভারে নিম্নলিখিত HTTP অনুরোধ পাঠান:

GET /myFeed

সার্ভার উত্তর দেয়:

200 OK

<?xml version='1.0' encoding='utf-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"C0QBRXcycSp7ImA9WxRVFUk."'>
  <title>Foo</title>
  <updated>2006-01-23T16:25:00-08:00</updated>
  <id>http://www.example.com/myFeed</id>
  <author>
    <name>Jo March</name>
  </author>
  <link href='/myFeed' rel='self'/>
</feed>

মনে রাখবেন যদিও ফিডে কোনো এন্ট্রি নেই, এতে মেটাডেটা থাকে, যেমন একটি শিরোনাম এবং লেখকের নাম। এটিতে HTTP ETag আকারে একটি সংস্করণ শনাক্তকারীও রয়েছে।

একটি নতুন এন্ট্রি সন্নিবেশ করা হচ্ছে

একটি নতুন এন্ট্রি তৈরি করতে, একটি POST অনুরোধ পাঠান এবং নতুন এন্ট্রির XML উপস্থাপনা সরবরাহ করুন:

POST /myFeed

<?xml version='1.0' encoding='utf-8'?>
<entry xmlns='http://www.w3.org/2005/Atom'>
  <author>
    <name>Elizabeth Bennet</name>
    <email>liz@gmail.com</email>
  </author>
  <title type='text'>Entry 1</title>
  <content type='text'>This is my entry</content>
</entry>

মনে রাখবেন যে আপনি স্ট্যান্ডার্ড অ্যাটম <id> , <link> , বা <updated> উপাদান সরবরাহ করবেন না; সার্ভার আপনার POST অনুরোধের প্রতিক্রিয়া হিসাবে সেগুলি তৈরি করে। এছাড়াও মনে রাখবেন যে একটি ফিডের লেখক একটি এন্ট্রির লেখক হিসাবে একই ব্যক্তি হতে হবে না।

সার্ভার উত্তর দেয়:

201 CREATED

<?xml version='1.0' encoding='utf-8'?>
<entry xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='"CUUEQX47eCp7ImA9WxRVEkQ."'>
  <id>http://www.example.com/id/1</id>
  <link rel='edit' href='http://example.com/myFeed/1/1/'/>
  <updated>2006-01-23T16:26:03-08:00</updated>
  <author>
    <name>Elizabeth Bennet</name>
    <email>liz@gmail.com</email>
  </author>
  <title type='text'>Entry 1</title>
  <content type='text'>This is my entry</content>
</entry>

একটি স্ট্রিং জন্য অনুসন্ধান করা হচ্ছে

একটি নির্দিষ্ট স্ট্রিং এর জন্য একটি পূর্ণ-পাঠ্য অনুসন্ধান করতে, পূর্ণ-পাঠ্য অনুসন্ধান সমর্থন করে এমন একটি পরিষেবা ব্যবহার করার সময়, q প্যারামিটার সহ একটি GET অনুরোধ পাঠান। ক্যোয়ারী প্যারামিটার সম্পর্কে আরও তথ্যের জন্য, প্রোটোকল রেফারেন্স নথিতে ক্যোয়ারী অনুরোধগুলি দেখুন।

GET /myFeed?q=This

সার্ভার This অনুসন্ধান স্ট্রিং এর সাথে মেলে এমন সমস্ত এন্ট্রি সমন্বিত একটি ফিড দিয়ে প্রতিক্রিয়া জানায়। (এই ক্ষেত্রে শুধুমাত্র একটি আছে।)

200 OK

<?xml version='1.0' encoding='utf-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"S0wCTlpIIip7ImA0X0QI"'>
  <title>Foo</title>
  <updated>2006-01-23T16:26:03-08:00</updated>
  <id>http://www.example.com/myFeed</id>
  <author>
    <name>Jo March</name>
  </author>
  <link href='/myFeed' rel='self'/>
  <entry gd:etag='"CUUEQX47eCp7ImA9WxRVEkQ."'>
    <id>http://www.example.com/id/1</id>
    <link rel='edit' href='http://example.com/myFeed/1/'/>
    <updated>2006-01-23T16:26:03-08:00</updated>
    <author>
      <name>Elizabeth Bennet</name>
      <email>liz@gmail.com</email>
    </author>
    <title type='text'>Entry 1</title>
    <content type='text'>This is my entry</content>
  </entry>
</feed>

একটি এন্ট্রি আপডেট করা হচ্ছে

একটি বিদ্যমান এন্ট্রি আপডেট করতে, আপনাকে নিম্নলিখিত পদক্ষেপগুলি করতে হবে৷

  1. আপনি আপডেট করতে চান এন্ট্রি পুনরুদ্ধার করুন.
  2. ইচ্ছামতো পরিবর্তন করুন।
  3. বার্তার অংশে আপডেট করা এন্ট্রি সহ, এন্ট্রির সম্পাদনা URI-তে একটি PUT অনুরোধ পাঠান। সম্পাদনা URI পূর্ববর্তী উদাহরণে <link rel='edit'> উপাদানের href বৈশিষ্ট্য হিসাবে প্রদর্শিত হয়।

আপনি অন্য কারও পরিবর্তনগুলি ওভাররাইট করবেন না তা নিশ্চিত করতে আপনাকে মূল এন্ট্রির ETagও নির্দিষ্ট করতে হবে।

নিম্নলিখিত উদাহরণে, আমরা এন্ট্রির টেক্সটটিকে এর পুরানো মান ("এটি আমার এন্ট্রি") থেকে একটি নতুন মান ("এটি আমার প্রথম এন্ট্রি") এ পরিবর্তন করছি:

PUT /myFeed/1/1/

<?xml version='1.0' encoding='utf-8'?>
<entry xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='"CUUEQX47eCp7ImA9WxRVEkQ."'>
  <id>http://www.example.com/id/1</id>
  <link rel='edit' href='http://example.com/myFeed/1/'/>
  <updated>2006-01-23T16:28:05-08:00</updated>
  <author>
    <name>Elizabeth Bennet</name>
    <email>liz@gmail.com</email>
  </author>
  <title type='text'>Entry 1</title>
  <content type='text'>This is my first entry.</content>
</entry>

সার্ভার উত্তর দেয়:

200 OK

<?xml version='1.0' encoding='utf-8'?>
<entry xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='"FkkOQgZGeip7ImA6WhVR"'>
  <id>http://www.example.com/id/1</id>
  <link rel='edit' href='http://example.com/myFeed/1/'/>
  <updated>2006-01-23T16:28:05-08:00</updated>
  <author>
    <name>Elizabeth Bennet</name>
    <email>liz@gmail.com</email>
  </author>
  <title type='text'>Entry 1</title>
  <content type='text'>This is my first entry.</content>
</entry>

উল্লেখ্য যে ETag পরিবর্তিত হয়েছে। সম্পদের সংস্করণ সম্পর্কে আরও তথ্যের জন্য, প্রোটোকল রেফারেন্স নথির রিসোর্স সংস্করণ (ETags) বিভাগটি দেখুন।

প্রেক্ষাপটে নতুন এন্ট্রি দেখতে, পুরো সংস্থানটি আবার অনুরোধ করুন:

GET /myFeed

সার্ভার উত্তর দেয়:

200 OK

<?xml version='1.0' encoding='utf-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"D08FQn8-eil7ImA9WxZbFEw."'>
  <title>Foo</title>
  <updated>2006-01-23T16:28:05-08:00</updated>
  <id>http://www.example.com/myFeed</id>
  <author>
    <name>Jo March</name>
  </author>
  <link href='/myFeed' rel='self'/>
  <entry gd:etag='"FkkOQgZGeip7ImA6WhVR"'>
    <id>http://www.example.com/id/1</id>
    <link rel='edit' href='http://example.com/myFeed/1/'/>
    <updated>2006-01-23T16:28:05-08:00</updated>
    <author>
      <name>Elizabeth Bennet</name>
      <email>liz@gmail.com</email>
    </author>
    <title type='text'>Entry 1</title>
    <content type='text'>This is my first entry.</content>
  </entry>
</feed>


দ্রষ্টব্য: যদি আপনার ফায়ারওয়াল PUT অনুমতি না দেয়, তাহলে একটি HTTP POST করুন এবং পদ্ধতিটি ওভাররাইড হেডারটি নিম্নরূপ সেট করুন:

X-HTTP-Method-Override: PUT

একটি এন্ট্রি মুছে ফেলা হচ্ছে

একটি বিদ্যমান এন্ট্রি মুছে ফেলার জন্য, এন্ট্রির সম্পাদনা URI ব্যবহার করে একটি DELETE অনুরোধ পাঠান (যেমন পূর্ববর্তী উদাহরণে সার্ভার দ্বারা সরবরাহ করা হয়েছে)।

যদি আপনার ফায়ারওয়াল DELETE অনুমতি না দেয়, তাহলে একটি HTTP POST করুন এবং মেথড ওভাররাইড হেডারটি নিম্নরূপ সেট করুন:

X-HTTP-Method-Override: DELETE

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

If-Match: *

নিম্নলিখিত উদাহরণ একটি এন্ট্রি মুছে দেয় (যদি শিরোনাম যথাযথভাবে সেট করা হয়):

DELETE /myFeed/1/

সার্ভার উত্তর দেয়:

200 OK

ফিডটিতে এখন কোনো এন্ট্রি নেই তা দেখতে আরেকটি GET করুন:

GET /myFeed

সার্ভারটি এমন একটি ফিডের সাথে প্রতিক্রিয়া জানায় যাতে মেটাডেটা ছাড়া কিছুই নেই:

200 OK

<?xml version='1.0' encoding='utf-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"D0cERnk-eip7ImA9WBBXGEg."'>
  <title>Foo</title>
  <updated>2006-01-23T16:30:11-08:00</updated>
  <id>http://www.example.com/myFeed</id>
  <author>
    <name>Jo March</name>
  </author>
  <link href='/myFeed' rel='self'/>
</feed>

যদি মুছে ফেলা ব্যর্থ হয়, তাহলে সার্ভার একটি ত্রুটি কোড দিয়ে প্রতিক্রিয়া জানায়। আরও তথ্যের জন্য, প্রোটোকল রেফারেন্স নথিতে HTTP স্থিতি কোডগুলি দেখুন৷

আংশিক ফিড বা এন্ট্রির অনুরোধ করা (পরীক্ষামূলক)

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

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

নিম্নলিখিত উদাহরণটি শুধুমাত্র ফিড আইডি এবং প্রতিটি ফিড এন্ট্রির জন্য লেখক এবং শিরোনাম অনুরোধ করে,

GET /myFeed?fields=id,entry(author)

সার্ভার উত্তর দেয়:

200 OK

<?xml version='1.0' encoding='utf-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
  xmlns:gd='http://schemas.google.com/g/2005'>
  <id>http://www.example.com/myFeed</id>
  <entry>
    <author>
      <name>Elizabeth Bennet</name>
      <email>liz@gmail.com</email>
    </author>
    <title type='text'>Entry 1</title>
  </entry>
  <entry>
    <author>
      <name>Elizabeth Bennet</name>
      <email>liz@gmail.com</email>
    </author>
    <title type='text'>Entry 2</title>
  </entry>
</feed>

আপনি যে কোনো ধরনের অনুরোধের সাথে fields প্যারামিটার ব্যবহার করতে পারেন যা ডেটা ফেরত দেয়। GET ছাড়াও, এতে POST , এবং PUT (পাশাপাশি PATCH , যা আংশিক আপডেটের অনুরোধ করার জন্য ব্যবহৃত হয়) অন্তর্ভুক্ত।

দ্রষ্টব্য: fields ক্যোয়ারী প্যারামিটার শুধুমাত্র একটি অনুরোধের প্রতিক্রিয়া হিসাবে ফেরত পাঠানো ডেটা নিয়ন্ত্রণ করে; এটি সেই ডেটাকে প্রভাবিত করে না যা আপনাকে একটি PUT , POST বা PATCH অনুরোধের মূল অংশে প্রদান করতে হবে৷

POST এবং PUT এর উদাহরণগুলি নীচে দেখানো হয়েছে৷

  • যখন আপনি একটি আংশিক প্রতিক্রিয়ার জন্য একটি POST অনুরোধ করেন, তখনও আপনাকে অবশ্যই একই ডেটা প্রদান করতে হবে যেমনটি একটি নতুন এন্ট্রি সন্নিবেশ করাতে বর্ণিত হয়েছে৷ নিম্নলিখিত উদাহরণটি একটি আংশিক প্রতিক্রিয়ার অনুরোধ করে যাতে শুধুমাত্র সদ্য নির্মিত এন্ট্রির শিরোনাম থাকে:
    POST /myFeed?fields=title
          
    ...data...
    

    সার্ভার উত্তর দেয়:

    200 OK
    
    <?xml version='1.0' encoding='utf-8'?>
    <entry xmlns='http://www.w3.org/2005/Atom'>
      <title type='text'>Entry 1</title>
    </entry>
  • যখন আপনি একটি আংশিক প্রতিক্রিয়ার জন্য একটি PUT অনুরোধ করেন, তখনও আপনাকে অবশ্যই সম্পূর্ণ সংস্থান উপস্থাপনার একটি পরিবর্তিত সংস্করণ প্রদান করতে হবে, যেমন একটি এন্ট্রি আপডেট করা এ বর্ণিত হয়েছে . নিম্নলিখিত উদাহরণে একটি আংশিক প্রতিক্রিয়ার অনুরোধ করা হয়েছে যাতে শুধুমাত্র পরিবর্তিত এন্ট্রির নতুন ETag মান রয়েছে:
    PUT /myFeed/1/1?fields=@gd:etag
      
    ...data...

    সার্ভার উত্তর দেয়:

    200 OK
    
    <?xml version='1.0' encoding='utf-8'?>
    <entry xmlns='http://www.w3.org/2005/Atom'
      gd:etag='"FkkOQgZGeip7ImA6WhVR"'/>

নির্দিষ্ট ক্ষেত্র আপডেট করা হচ্ছে (পরীক্ষামূলক)

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

আংশিক আপডেট ব্যবহার করার জন্য, আপনি PUT এর সাথে ব্যবহার করা একই সম্পাদনা URI-তে একটি PATCH অনুরোধ পাঠান। আপনি PATCH এর সাথে যে ডেটা পাঠান তা অবশ্যই কিছু নিয়ম মেনে চলতে হবে। যাইহোক, শব্দার্থবিদ্যা আপনার জন্য যথেষ্ট নমনীয় যে আপনি টার্গেট রিসোর্সে ডেটা প্রতিস্থাপন করতে, এতে যোগ করতে পারেন, বা এমনকি এটি থেকে মুছে ফেলতে পারেন, সবই একক অনুরোধে।

দ্রষ্টব্য: PUT এর মতো, আপনি অন্য কারো পরিবর্তনগুলিকে ওভারওয়াইট করবেন না তা নিশ্চিত করতে আপনাকে মূল এন্ট্রির ETag উল্লেখ করতে হবে।

PATCH এবং এর শব্দার্থবিদ্যা সম্পর্কে আরও তথ্যের জন্য, প্রোটোকল রেফারেন্স নথিতে আংশিক আপডেট দেখুন।

এই উদাহরণটি একটি আংশিক আপডেট অনুরোধ দেখায় যা এন্ট্রির শিরোনাম পরিবর্তন করে:

PATCH /myFeed/1/1/

<entry xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag="EksPTg1Bfyp7IWA6WhJT"
    gd:fields='title'>
  <title>New Title</title>
</entry>

যখন সার্ভার একটি PATCH অনুরোধ পায়, এটি প্রথমে এন্ট্রির gd:fields অ্যাট্রিবিউট (যদি উপস্থিত থাকে) দ্বারা নির্দিষ্ট করা কোনো ক্ষেত্র সরিয়ে দেয়; তারপরে এটি অনুরোধের বডিতে প্রদত্ত যেকোন ডেটাকে টার্গেট রিসোর্সের সাথে মার্জ করে। এই উদাহরণে, শিরোনাম উপাদানটি প্রথমে লক্ষ্য সম্পদ থেকে সরানো হয়; তারপর নতুন শিরোনাম মান মার্জ করা হয়। কার্যকরীভাবে, এই অনুরোধটি পুরানো শিরোনামটিকে নতুন দিয়ে প্রতিস্থাপন করে৷

উল্লেখ্য, যাইহোক, PATCH এর শব্দার্থবিদ্যা হল আংশিক উপস্থাপনাকে বিদ্যমান সম্পদে একত্রিত করা । মান আপডেট করার জন্য আপনাকে সর্বদা একটি ক্ষেত্র সরাতে হবে না।

  • যদি ক্ষেত্রটি লক্ষ্য এন্ট্রিতে শুধুমাত্র একবার উপস্থিত হতে পারে তাহলে, মার্জ করার সময়, আংশিক প্রতিনিধিত্বের ক্ষেত্রটি লক্ষ্য এন্ট্রিতে সংশ্লিষ্ট ক্ষেত্রটিকে ওভাররাইট করে।
  • যদি লক্ষ্য এন্ট্রিতে ক্ষেত্রটি একাধিকবার উপস্থিত হতে পারে তবে, মার্জ করার সময়, আংশিক ক্ষেত্রটি লক্ষ্য এন্ট্রিতে যোগ করা হয়।

কিভাবে পুনরাবৃত্তি করা এবং অ-পুনরাবৃত্ত ক্ষেত্রগুলিকে একত্রিত করা হয় তার মধ্যে পার্থক্যটি পরবর্তী উদাহরণ দ্বারা দেখানো হয়েছে, যা gd:fields অ্যাট্রিবিউট ব্যবহার না করেই এন্ট্রিতে একটি নতুন শিরোনাম এবং লেখক যোগ করে তাদের যেকোন একটিকে প্রথমে সরাতে।

PATCH /myFeed/1/1/

<entry xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:edtag="EksPTg1Bfyp7IWA6WhJT">
  <title>A new title</title>
  <author>
    <name>Fitzwilliam Darcy</name>
    <email>darcy@gmail.com</email>
  </author>
</entry>

যেহেতু আংশিক এন্ট্রি প্রতিনিধিত্বের কোনো gd:fields বৈশিষ্ট্য নেই, তাই কোনো ক্ষেত্র সরানো হয় না। যাইহোক, <title> এবং <author> উপাদানগুলির জন্য নতুন মান লক্ষ্য সম্পদের সাথে একত্রিত করা হয়েছে:

  • যেহেতু অ্যাটম প্রতি এন্ট্রিতে শুধুমাত্র একটি শিরোনামকে অনুমতি দেয়, নতুন শিরোনাম বিদ্যমান মানটিকে ওভাররাইট করে।
  • যেহেতু এটম প্রতি এন্ট্রিতে একাধিক লেখককে অনুমতি দেয়, তাই নতুন লেখককে ইতিমধ্যেই লক্ষ্য সম্পদে থাকা লেখক উপাদানগুলির তালিকায় যুক্ত করা হয়েছে।

    দ্রষ্টব্য: সমস্ত API এটম স্ট্যান্ডার্ডের সাথে সঙ্গতিপূর্ণ নয়। উদাহরণস্বরূপ, কিছু API শুধুমাত্র একটি একক অনুমতি দেয় <author> এন্ট্রি প্রতি উপাদান; অন্যরা এন্ট্রি লেখকের উত্তরাধিকারী ফিড লেভেল থেকে, ফিল্ডকে শুধুমাত্র পঠনযোগ্য করে তোলে।

সার্ভার একটি বৈধ PATCH অনুরোধ প্রক্রিয়া করার পরে, এটি আপডেট করা এন্ট্রির সম্পূর্ণ উপস্থাপনার একটি অনুলিপি সহ একটি HTTP 200 স্ট্যাটাস কোড প্রদান করে।

আপনি যদি সার্ভারটি শুধুমাত্র নির্দিষ্ট কিছু উপাদান বা বৈশিষ্ট্য ফেরত দিতে চান, তাহলে আপনি আংশিক প্রতিক্রিয়ার অনুরোধ করতে PATCH সহ fields ক্যোয়ারী প্যারামিটার ব্যবহার করতে পারেন।

অতিরিক্ত সম্পদ

আপনি নিম্নলিখিত তৃতীয় পক্ষের নথিগুলি দরকারী খুঁজে পেতে পারেন:

উপরে ফিরে যাও