Aşağıdaki örneklerde, YouTube Data API'sinde (v3) kısmi API yanıtlarının nasıl alınacağı gösterilmektedir.
Not: API'nin başlangıç kılavuzu, kısmi istekler ve yanıtlar hakkında daha fazla ayrıntı sağlar.
v3 API, uygulamaların gereksiz verileri aktarmasını, ayrıştırmasını ve depolamasını önlemek için kısmi kaynakların alınmasını sağlar ve bunu gerektirir. Bu yaklaşım, API'nin ağ, CPU ve bellek kaynaklarını daha verimli kullanmasını da sağlar.
API, API isteklerine eklenmesi gereken kaynak özelliklerini belirleyebilmenizi sağlayan iki istek parametresini (part
ve fields
) destekler. part
parametresi, kaynak ekleyen veya güncelleyen API istekleri tarafından ayarlanması gereken özellikleri de tanımlar.
Güncelleme isteğinde daha önce bir değere sahip olan kaynak mülkü için bir değer belirtilmezse aşağıdaki koşulların geçerli olması durumunda mevcut değerin silineceğini unutmayın:
-
Tesisin değeri istek tarafından değiştirilebilir. (Örneğin, bir
video
kaynağını güncellerkensnippet.description
özelliğinin değerini güncelleyebilirsiniz, ancaksnippet.thumbnails
nesnesinin değerini güncelleyemezsiniz. -
İsteğin
part
parametre değeri, mülkü içeren kaynak bölümünü tanımlar.
Örnek
Örneğin, aşağıda gösterilen video
kaynağını güncellemek istediğinizi varsayalım. (Aşağıda gösterilen tüm özelliklerin API aracılığıyla güncellenebileceğini ve örnekle alakalı olmayan kaynak mülklerin atlandığını unutmayın.)
{ "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
yöntemini çağırıp part
parametre değerini snippet
olarak ayarlarsınız. API isteğinin gövdesi, aşağıdaki kaynağı içerir:
{ "snippet": { "title": "New video title", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 } }
Bu istek videonun başlığını günceller, açıklamasını siler ve etiketlerini veya kategori kimliğini değiştirmez. İstek, snippet.description
özelliği için bir değer belirtmediği için videonun açıklaması silindi.
part
parametresi değeri, isteğin güncelleneceği parçalardan biri olarak status
içermediğinden status
nesnesindeki özellikler hiç etkilenmez. Aslında, API isteğinin gövdesi status
nesnesini içeriyorsa istek gövdesine beklenmedik bir bölüm eklenmesi nedeniyle API, 400 (Bad Request)
HTTP yanıtı döndürür.