Bu belgede, projenizin performansını iyileştirmek için kullanabileceğiniz bazı en iyi yoludur. Bazı durumlarda, uygulanan diğer API'lerden örnekler kullanılır örnek olarak verilebilir. Ancak aynı kavramlar Display &Video 360 Video 360 API.
Kısmi kaynaklarla çalışma
API çağrılarınızın performansını artırmanın bir başka yolu da bölümünün bir kısmını sunar. Bu, uygulamanızın gereksiz alanları aktarmak, ayrıştırmak ve saklamaktan kaçının, böylece ve bellek gibi kaynakları daha verimli hale getiriyor.
Kısmi yanıt
Varsayılan olarak sunucu, kaynağın tam gösterimini izin veriliyor. Daha iyi performans için sunucudan kısmi bir yanıt alabilirsiniz.
Kısmi bir yanıt istemek için fields
istek parametresini kullanarak
hangi alanlara girdiğinizi seçin. Bu parametreyi herhangi bir istekle kullanabilirsiniz
yanıt verileri döndüren bir uygulamadır.
Örnek
Aşağıdaki örnekte, fields
parametresinin
Görüntülü Reklam ve Video 360 API.
Basit istek: Bu HTTP GET
isteği, fields
parametresini atlar ve
tam kaynağı döndürür.
GET https://displayvideo.googleapis.com/v3/advertisers?partnerId=1
Tam kaynak yanıtı: Tam kaynak verileri şunları içerir: alan adlarının yanı sıra kısaltılmış olan diğer birçok alanı içerir.
200 OK
{
"advertisers": [
{
"name": "advertisers/1",
"advertiserId": "1",
"partnerId": "1",
"displayName": "Example Advertiser 1",
"entityStatus": "ENTITY_STATUS_ACTIVE",
"updateTime": "2019-01-01T00:00:00.000000Z",
"generalConfig": {
"domainUrl": "http://example.com",
"timeZone": "America/New_York",
"currencyCode": "USD",
"address": {
}
},
"adServerConfig": {
"thirdPartyOnlyConfig": {
}
},
"creativeConfig": {
},
"dataAccessConfig": {
"sdfConfig": {
"sdfConfig": {
"version": "VERSION_3_1"
}
}
},
"integrationDetails": {
}
},
{
"name": "advertisers/2",
"advertiserId": "2",
"partnerId": "1",
"displayName": "Example Advertiser 2",
"entityStatus": "ENTITY_STATUS_ACTIVE",
"updateTime": "2019-01-01T00:00:00.000000Z",
"generalConfig": {
"domainUrl": "http://example.com",
"timeZone": "America/New_York",
"currencyCode": "USD",
"address": {
}
},
"adServerConfig": {
"thirdPartyOnlyConfig": {
}
},
"creativeConfig": {
},
"dataAccessConfig": {
"sdfConfig": {
"sdfConfig": {
"version": "VERSION_3_1"
}
}
},
"integrationDetails": {
}
},
...
],
"nextPageToken": "..."
}
Kısmi yanıt isteği: Aynı kaynak için gönderilen aşağıdaki istek
, döndürülen veri miktarını önemli ölçüde azaltmak için fields
parametresini kullanır.
GET https://displayvideo.googleapis.com/v3/advertisers?partnerId=1&fields=advertisers(advertiserId,partnerId,displayName)
Kısmi yanıt: Yukarıdaki isteğe yanıt olarak sunucu, sadeleştirilmiş reklamverenler dizisi içeren ve yalnızca her bir reklamverenin reklamveren kimliği, görünen adı ve iş ortağı kimliği özelliği (varsa) devam eder.
200 OK
{
"advertisers": [
{
"advertiserId": "1",
"partnerId": "1",
"displayName": "Example Advertiser 1"
},
{
"advertiserId": "2",
"partnerId": "1",
"displayName": "Example Advertiser 2"
},
...
]
}
Yanıtın, yalnızca seçili alanları içeren bir JSON nesnesi olduğunu unutmayın ve bunları kapsayan üst nesneler.
Bir sonraki bölümde fields
parametresinin nasıl biçimlendirileceğiyle ilgili ayrıntılara ve ardından
hakkında daha fazla ayrıntı içerir.
Alan parametresi söz dizimi özeti
fields
istek parametresi değerinin biçimi genel olarak XPath'e dayalıdır
söz dizimine uygun olmalıdır. Desteklenen söz dizimi aşağıda özetlenmiştir ve ek örnekler şunlardır:
başlıklı konuyu ele aldık.
Birden çok alan seçmek için virgülle ayrılmış liste kullanın.
a
alanı içine yerleştirilmiş birb
alanını seçmek içina/b
öğesini kullanın;a/b/c
kullanb
içine iç içe yerleştirilmiş birc
alanı seçin.Dizilerin belirli alt alanlarını istemek için bir alt seçici kullanın veya nesneleri parantez içine alabilirsiniz: "
( )
".Örnek:
fields=advertisers(advertiserId,generalConfig/domainUrl)
her öğe için yalnızca reklamveren kimliğini ve alan URL'sini döndürür reklamveren dizisi. Ayrıca tek bir alt alan da belirtebilirsiniz.fields=advertisers(advertiserId)
eşdeğerdirfields=advertisers/advertiserId
.
Domains parametresini kullanmayla ilgili diğer örnekler
Aşağıdaki örneklerde, fields
parametresinin değerinin nasıl gösterildiğiyle ilgili açıklamalar yer almaktadır.
bu da vereceğiniz yanıtı etkiler.
- Döndürülmesini istediğiniz alanları belirleyin veya alan seçimleri yapın.
fields
istek parametresi değeri, alanların virgülle ayrılmış listesidir ve her alan, yanıtın köküne göre belirtilir. Dolayısıyla,list
işlemi gerçekleştiriyorsa yanıt bir koleksiyondur ve bir dizi kaynak içerir. İşlem gerçekleştiriyorsanız döndürürse, alanlar buna göre belirlenir. gösterir. Seçtiğiniz alan bir diziyse (veya dizinin parçasıysa) sunucu dizideki tüm öğelerin seçilen bölümünü döndürür.Koleksiyon düzeyinden bazı örnekler:
Örnek Etki advertisers
Şuradaki tüm öğeleri döndürür: advertisers
dizisi, şunlar dahil: her bir öğedeki tüm alanlara başka alan yok.advertisers,nextPageToken
Hem nextPageToken
öğesini döndürür alanının veadvertisers
dizisi.advertisers/advertiserId
Yalnızca advertiserId
değerini döndürür tüm öğelere aitadvertisers
dizisi.
İç içe yerleştirilmiş bir alan yanıt alındığında üst nesnelerdir. Üst alanlar şunları içermez: diğer alt alanlara onlar da seçildi açık bir şekilde belirtmelisiniz.advertisers/generalConfig/domainUrl
domainUrl
alanını döndürürgeneralConfig
nesnesi için altında yer alanadvertisers
dizisi.Kaynak düzeyinden bazı örnekler:
Örnek Etki advertiserId
advertiserId
alanını döndürür seçmeniz gerekir.generalConfig/domainUrl
domainUrl
alanını döndürürgeneralConfig
nesnesi için istenilen kaynakta bulunur.- Alt seçimleri kullanarak yalnızca belirli alanların belirli kısımlarını isteyin.
Varsayılan olarak, isteğiniz belirli alanları belirtirse sunucu bütünüyle kontrol etmesini sağlar. Bir yanıt belirtebilirsiniz Yalnızca belirli alt alanları içeren. Bu işlemi "
( )
" kullanarak yaparsınız alt seçim söz dizimini kullanabilirsiniz.Örnek Etki advertisers(advertiserId,generalConfig/domainUrl)
Yalnızca değerleri advertiserId
. ve GeneralConfig Şunun içindomainUrl
: içindeki her öğeadvertisers
dizisidir.
Kısmi yanıtları işleme
Sunucu, fields
sorgusunu içeren geçerli bir isteği işledikten sonra
parametresi için isteğe bağlı olarak bir HTTP 200 OK
durum kodu gönderir.
dışı verilerdir. fields
sorgu parametresinde hata varsa veya başka bir şekilde geçersizse
sunucu, bir hatayla birlikte HTTP 400 Bad Request
durum kodu döndürür
alan seçimiyle ilgili sorunun ne olduğunu belirten bir mesaj (örneğin,
"Invalid field selection a/b"
).