مثالهای زیر نحوه بازیابی پاسخهای API جزئی در YouTube Data API (v3) را نشان میدهند.
توجه: راهنمای شروع API جزئیات بیشتری در مورد درخواست ها و پاسخ های جزئی ارائه می دهد.
v3 API امکان بازیابی منابع جزئی را فراهم می کند و در واقع به آن نیاز دارد تا برنامه ها از انتقال، تجزیه و ذخیره داده های غیر ضروری جلوگیری کنند. این رویکرد همچنین تضمین می کند که API از منابع شبکه، CPU و حافظه به طور موثرتری استفاده می کند.
API از دو پارامتر درخواست، part
و fields
پشتیبانی میکند که به شما امکان میدهد ویژگیهای منبعی را که باید در پاسخهای API گنجانده شوند، شناسایی کنید. پارامتر part
همچنین ویژگی هایی را که باید توسط درخواست های API که منابع درج یا به روز می کنند تنظیم شوند، مشخص می کند.
توجه داشته باشید که اگر یک درخواست بهروزرسانی مقداری را برای ویژگی منبعی که قبلاً دارای مقدار بوده است مشخص نکند، در صورت درست بودن شرایط زیر، مقدار موجود حذف میشود:
ارزش ملک را می توان با درخواست تغییر داد. (به عنوان مثال، هنگام به روز رسانی یک منبع
video
، می توانید مقدار ویژگیsnippet.description
را به روز کنید، اما نمی توانید مقدار شیsnippet.thumbnails
را به روز کنید.مقدار پارامتر
part
درخواست، بخشی از منبع را که دارای ویژگی است مشخص می کند.
مثال
به عنوان مثال، فرض کنید می خواهید منبع video
نشان داده شده در زیر را به روز کنید. (توجه داشته باشید که تمام ویژگی های نشان داده شده در زیر می توانند از طریق API به روز شوند و ویژگی های منبع غیر مرتبط با مثال حذف شده اند.)
{ "snippet": { "title": "Old video title", "description": "Old video description", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 }, "status": { "privacyStatus": "private", "publishAt": "2014-09-01T12:00:00.0Z", "license": "youtube", "embeddable": True, "publicStatsViewable": True } }
شما متد videos.update
را فراخوانی میکنید و مقدار پارامتر part
را روی snippet
تنظیم میکنید. بدنه درخواست API حاوی منبع زیر است:
{ "snippet": { "title": "New video title", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 } }
این درخواست عنوان ویدیو را بهروزرسانی میکند، توضیحات آن را حذف میکند و برچسبها یا شناسه دسته آن را تغییر نمیدهد. توضیحات ویدیو حذف شده است زیرا درخواست مقداری برای ویژگی snippet.description
مشخص نمی کند.
ویژگیهای موجود در شی status
اصلاً تحت تأثیر قرار نمیگیرند زیرا مقدار پارامتر part
status
به عنوان یکی از بخشهایی که درخواست بهروزرسانی میکند، شامل نمیشود. در واقع، اگر بدنه درخواست API شامل شی status
باشد، API یک پاسخ HTTP 400 (Bad Request)
را به دلیل وجود بخشی غیرمنتظره در بدنه درخواست برمیگرداند.