Aracılığıyla paylaş


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 makalenin 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 olur.
  • 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 (dahili veya harici) tarafından yapılan Web API çağrıları sayfa görüntülemelerine dahil edilmez, ancak geçerli kimliği doğrulanmış kullanıcı kapasite 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

Not

Portalın Web API'sini kullanarak eylemleri ve fonksiyonları çağırmak desteklenmiyor.

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 ayar 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

Uygulama oturumu kimlik doğrulama ve yetkilendirmeyi yönettiğ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 Portal Web API'sini kullanarak Dataverse tablosuna başvururken, örneğin hesap tablosuna erişmek için EntitySetName'i kullanmanız gerekir; kod sözdizimi hesapların EntitySetName'ini kullanır; /_api/accounts().

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:

  1. https://make.powerapps.com'e git

  2. Yan panelden Dataverse sekmesini seçin ve tabloyu seçin.

  3. ... (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.

    Dataverse tablosunun EntitySetName öğesini bulma.

Gizlilik yasaları ve yönetmelikleri

Tüm istek başlıkları denetim amacıyla iletilen bir iletişim kimliğini kullanır. Anonim kullanıcı için bu değer null olarak geçilir.

Denetim günlüğü etkinse, Kullanıcı Office 365 denetim günlüğündeki tüm denetim olaylarını görebilir.

Office 365 denetim günlüğünün ekran görüntüsü.

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, Ebeveyn, **Kişi veya Hesap kapsamları sorguya daha fazla koşul eklediğinde, 1'den çoğa veya çoktan çoğatablo izinleri gibi birden fazla düzeye sahip tablolar için GET Web API isteğini çağırdıklarında CDS hatası alırlar.

Bu sorunu çözmek için önerilen çözüm OData sorgusunda FetchXML kullanılmasıdır.

Alternatif olarak, Webapi/<tablo adı>/disableodatafilter site ayarını True olarak ayarlayın.

Önemli

Site ayarının True için Webapi/<tablo adı>/disableodatafilter olarak değiştirilmesi Web API GET çağrıları için daha yavaş 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