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, portallar Web API'sini kullanarak form veya çok adımlı form kullanmadan yeni bir hesap oluşturabilir veya kişiyi güncelleştirebilirsiniz.

Web API'sinde /_api yol kullanılır (örneğin, https://yoursite.powerappsportals.com/_api/accounts) ve Dataverse Web API'sine benzer bir RESTful deseni izler.

Önemli

  • 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 sitelerle tümleştirmek için portallar Web API'sinin kullanılması 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 verilerini 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ırma), portallar Web API'sini kullanarak desteklenmez. Tam liste için bu makalenin devamında desteklenmeyen yapılandırma tablolarına bakın.
  • 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 tarafından yapılan Web API çağrıları anonim kullanıcı kapasitesine göre sayılır. Kimliği doğrulanmış kullanıcılar (iç veya dış) tarafından yapılan Web API çağrıları sayfa görünümlerine göre sayılmaz, ancak geçerli kimliği doğrulanmış kullanıcı kapasitesi lisansları gerektirir. Daha fazla bilgi için bkz. lisanslama hakkında SSS Power Pages.
  • Portallar Web API'sini kullanarak eylemleri ve işlevleri çağırma desteklenmez.

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. API biçimi, öğrenme eğrisini azaltmak için mümkün olduğunca benzerdir.

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

Web API'si için site ayarları

Önemli

Site ayarındaki joker karakter değeri (*) Webapi/<table-name>/fields desteği kullanım dışıdır.

değerini, sitenizin gerektirdiği sütunların virgülle ayrılmış bir listesiyle değiştirin * . ile yapılandırılan * tablolar için Web API'sini Power Pages istekleri, siz açık sütun adlarını yapılandırana kadar başarısız olur.

Portalınızın Web API'sini etkinleştirmek için site ayarını açın. Ayrıca, portallar Web API'sini kullanarak kullanıcıların değiştirebileceği veya değiştiremediğini tablo alanlarını belirleyen alan düzeyinde Web API'sini de yapılandırabilirsiniz.

Not

Bu ayarlar için tablo mantıksal adını kullanın (örneğin, hesap).

Site ayarı adı Açıklama
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 Kullanıcıların Web API'sini kullanarak değiştirebileceği özniteliklerin virgülle ayrılmış listesini tanımlar.
Olası değerler:
- Belirli öznitelikler:attr1,attr2,attr3
Ö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

Örneğin, kimliği doğrulanmış kullanıcıların bu varlığa ait kayıtları oluşturabileceği, güncelleştirebileceği ve silebileceği Servis Talebi tablosunun Web API'sini kullanıma açmak için aşağıdaki tabloda gösterilen site ayarlarını kullanın.

Site ayarı adı Site ayar değeri
Webapi/incident/enabled doğru
Webapi/incident/fields attr1, attr2, attr3

Portallar Web API'si ile güvenlik

Tablo izinlerini kullanarak portallardaki tek tek 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 kullanımı

Kodunuzda portallar Web API'sini kullanarak Dataverse tablolarına başvururken EntitySetName kullanın. Örneğin, hesap tablosuna erişmek için kod söz dizimi hesapların EntitySetName değerini kullanır; /_api/accounts()öğesini seçin.

Not

site ayarları için tablonun mantıksal adını kullanın (örneğin hesap).

Belirli tabloların EntitySetName değerini belirlemek için şu adımları izleyin:

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

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

  3. Tablonun EntitySetName değerini panonuza kopyalamak için ... (Komutlar seçeneği) ve ardından Gelişmiş, Araçlar ve Kopya kümesi adı'nı seçin.

    Dataverse tablosunun EntitySetName öğesini bulma.

Gizlilik yasaları ve yönetmelikleri

Tüm istek üst bilgileri denetim amacıyla bir kişi kimliği kullanır. Anonim bir kullanıcı için değeridir null.

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; GET, **İletişim veya Hesap kapsamları sorguya ek koşullar eklediğinde, bire çok veya çoka çok düzeyinde tablo izinlerine sahip tablolar için bir Web API isteği gönderdiklerinde bir CDS hatasıyla karşılaşırlar.

Bu sorunu çözmek için OData sorgusunda FetchXML kullanın.

Sonraki adım

Portal Web API kullanarak verileri sorgulama