Portallar Web API'sine genel bakış
Portallar Web API'si, Power Pages sitelerinde daha zengin bir kullanıcı deneyimi sağlar. Web sayfalarınızdaki tüm Microsoft Dataverse tabloları genelinde oluşturma, okuma, güncelleştirme ve silme işlemleri için Portal Web API'sini kullanabilirsiniz. Örneğin, portal Web API'sini kullanarak bir form veya çok adımlı form kullanmadan yeni bir firma oluşturabilir, ilgili kişiyi güncelleştirebilirsiniz.
Önemli
- Bu özelliğin çalışması için Power Pages sitesi sürümünüzün 9.3.3.x veya sonraki bir sürüm olması gerekir.
- Portallar Web API'si portal sayfaları içinde daha zengin bir kullanıcı deneyimi oluşturmayı amaçlar. Üçüncü taraf hizmetler veya uygulama tümleştirmesi için uygun değildir. Diğer Power Pages siteleriyle tümleştirme için portal Web API'sini kullanmak desteklenmez.
- Portal Web API'si işlemleri hesaplar, ilgili kişiler veya özel tablolar gibi verilerle ilgili tablolarla sınırlıdır. Tablo meta verileri veya portal yapılandırma tablosu verilerini yapılandırma (Örneğin, adx_contentsnippet, adx_entityform veya adx_entitylist gibi portal tablolarını yapılandırmak) portal Web API'sinde desteklenmez. Tam liste için bu konunun ilerleyen bölümlerindeki desteklenmeyen yapılandırma tablolarına gidin.
- Portallar Web API, sunucu tarafı önbellekten yararlanır, bu nedenle ardıl Web API çağrıları ilk çağrılardan daha hızlıdır. Portal sunucusu tarafı önbelleğinin temizlenmesinin geçici performans düşüşüne neden olduğunu unutmayın.
- Portal Web API'si işlemleri için bir Power Pages lisansı gerekir. Örneğin, anonim kullanıcıların yaptığı Web API'si çağrıları anonim kullanıcı kapasitesinden düşülür. Kimliği doğrulanmış kullanıcılar (iç veya dış) tarafından yapılan Web API'si çağrıları sayfa görünümlerine dahil edilmez ancak uygun kimliği doğrulanmış kullanıcı kapasitesi lisansları gerektirir. Daha fazla bilgi: Power Pages lisanslamayla ilgili SSS
Web API işlemleri
Portallar Web API'si, Dataverse API'sini kullanarak gerçekleştirebileceğiniz Dataverse işlemleri için bir dizi yetenek alt kümesi sunar. Öğrenme eğrisini azaltmak için API biçimini mümkün olduğunca benzer tuttuk.
Not
Web API işlemleri büyük ve küçük harf duyarlıdır.
Power Pages ile kullanılabilen Web API'si işlemleri
- Bir tablodaki kayıtları okuma
- Tabloda kayıt oluşturma
- Tablodaki kayıtları güncelleştirme ve silme
- Tabloları ilişkilendirme ve ilişkiyi kaldırma
Not
Portallar Web API'si kullanılarak eylemlerin ve işlevlerin çağrılması desteklenmez.
Web API'si için site ayarları
Portalınızın Portallar Web API'sini etkinleştirmek için site ayarını etkinleştirmeniz gerekir. Ayrıca Portal Web API'siyle değiştirilebilen veya değiştirilemeyen tablo alanlarını belirleyen alan düzeyinde Web API'sini de yapılandırabilirsiniz.
Not
Bu ayarlar için mantıksal ad tablosunu kullanın (örneğin firma).
Site ayarı adı | Veri Akışı Açıklaması |
---|---|
Webapi/<tablo adı>/etkin | <tablo adı> için Web API'sini etkinleştirir veya devre dışı bırakır. Varsayılan: False Geçerli değerler: True , False |
Webapi/<tablo adı>/alanlar | Web API'si ile değiştirilebilen özniteliklerin virgülle ayrılmış listesini tanımlar. Olası değerler: - Tüm öznitelikler: * - Belirli öznitelikler: attr1,attr2,attr3 Not: Değer bir yıldız (*) veya alan adlarının virgülle ayrılmış bir listesi olmalıdır. Önemli: Bu zorunlu bir site ayarıdır. Bu ayar eksikse, "Bu varlık için alan tanımlanmadı" hatasını görürsünüz. |
Webapi/error/innererror | InnerError'ı etkinleştirir veya devre dışı bırakır. Varsayılan: False Geçerli değerler: True , False |
Webapi/<tablo adı>/disableodatafilter | OData filtresini etkinleştirir veya devre dışı bırakır. Varsayılan: False Geçerli değerler: True , False Daha fazla bilgi için bkz. bilinen sorunlar. Site ayarı portal sürümü 9.4.10.74 veya daha sonraki portal sürümlerinde kullanılabilir. |
Not
Değişikliklerin etkin olabilmesi için site ayarlarının etkin olarak ayarlanması gerekir .
Örneğin, kimliği doğrulanmış kullanıcıların bu varlık üzerinde oluşturma, güncelleştirme ve silme işlemleri gerçekleştirmesine izin verilen Servis Talebi tablosunun Web API'sini kullanıma açmak için site ayarları aşağıdaki tabloda gösterilir.
Site Ayarı Adı | Site Ayarı Değeri |
---|---|
Webapi/incident/enabled | true |
Webapi/incident/fields | attr1, attr2, attr3 |
Portallar Web API'si ile güvenlik
Tablo izinlerini kullanarak portaldaki ayrı kayıtlar için kayıt tabanlı güvenlik yapılandırabilirsiniz. Portal Web API tablo (varlık) kayıtlarına erişir ve ilgili web rolleri aracılığıyla kullanıcılara verilen tablo izinlerini izler.
Portal Web API'sı kullanırken bir tablodaki her sütun için ayrıcalık tanımlamak üzere sütun izinlerini yapılandırabilirsiniz.
Portallar Web API'si istekleri için kimlik doğrulama
Kimlik doğrulama ve yetkilendirme uygulama oturumu tarafından yönetildiğinden, kimlik doğrulaması kodu eklemeniz gerekmez. Tüm Web API çağrıları, Siteler Arası İstek Sahteciliği (CSRF) belirtecini içermelidir.
EntitySetName kullanma
Kodunuzda portallar Web API'sini kullanan Dataverse tablolarına başvurulduğunda, EntitySetName değerini kullanmanız gerekir. Örneğin, firma tablosuna erişmek için kod sözdizimi firmalar öğesinin EntitySetName değerini (/_api/accounts()
) kullanır.
Not
Site ayarları için tablo mantıksal adını kullanın (örneğin firma).
Belirli tabloların EntitySetName öğesini aşağıdaki adımları izleyerek belirleyebilirsiniz:
Yan panelden Dataverse sekmesini seçin ve tabloyu seçin.
... (Komutlar seçeneği) simgesini seçin ve ardından tablonun EntitySetName öğesini panonuza kopyalamak için Gelişmiş, Araçlar ve Ayarlanmış adı kopyala seçeneğine gidin.
Gizlilik yasaları ve yönetmelikleri
Tüm istek üst bilgilerinde, denetleme amacıyla iletilen bir ilgili kişi kimliği vardır. Anonim kullanıcı için bu null
olarak geçilir.
Denetim günlüğü etkinse, Kullanıcı Office 365 denetim günlüğündeki tüm denetim olaylarını görebilir.
Daha fazla bilgi:
Etkinlik günlüğünü etkinleştirme ve kullanma
Denetim günlüğü kayıtlarını verme, yapılandırma ve görüntüleme
Desteklenmeyen yapılandırma tabloları
Portal Web API'si aşağıdaki yapılandırma tabloları için kullanılamaz:
adx_contentaccesslevel
adx_contentsnippet
adx_entityform
adx_entityformmetadata
adx_entitylist
adx_entitypermission
adx_entitypermission_webrole
adx_externalidentity
adx_pagealert
adx_pagenotification
adx_pagetag
adx_pagetag_webpage
adx_pagetemplate
adx_portallanguage
adx_publishingstate
adx_publishingstatetransitionrule
adx_publishingstatetransitionrule_webrole
adx_redirect
adx_setting
adx_shortcut
adx_sitemarker
adx_sitesetting
adx_urlhistory
adx_webfile
adx_webfilelog
adx_webform
adx_webformmetadata
adx_webformsession
adx_webformstep
adx_weblink
adx_weblinkset
adx_webnotificationentity
adx_webnotificationurl
adx_webpage
adx_webpage_tag
adx_webpageaccesscontrolrule
adx_webpageaccesscontrolrule_webrole
adx_webpagehistory
adx_webpagelog
adx_webrole_systemuser
adx_website
adx_website_list
adx_website_sponsor
adx_websiteaccess
adx_websiteaccess_webrole
adx_websitebinding
adx_websitelanguage
adx_webtemplate
Bilinen sorunlar
Kullanıcılar, Ana, İlgili Kişi veya Firma kapsamları sorguya ek koşullar eklediğinde, birden çok katmanlı bir-çok veya çok-çok tablo izinlerine sahip tablolar için bir GET
Web API'si isteği çağırdıklarında bir CDS hatası alır.
Bu sorunu çözmek için önerilen çözüm OData sorgusunda kullanmaktır FetchXML .
Alternatif olarak, Webapi/<tablo adı>/disableodatafilter site ayarını True
olarak ayarlayın.
Önemli
Webapi/<tablo adı>/disableodatafilter site ayarını True
olarak değiştirmek Web API'si GET
çağrıları için daha düşük performansa neden olabilir.
Site ayarı portal sürümü 9.4.10.74 veya daha sonraki portal sürümlerinde kullanılabilir.
Sonraki adım
Portal Web API kullanarak verileri sorgulama