Interactie met de web-API omvat het opstellen van HTTP-aanvragen met vereiste headers en het afhandelen van HTTP-reacties, inclusief eventuele fouten.
Belangrijk
Uw portalversie moet 9.3.3.x of hoger zijn om deze functie te laten werken.
URL voor web-API en versiebeheer
Construeer de web-API-URL met behulp van de indeling in de volgende tabel.
Onderdeel
Omschrijving
Protocol
https://
Basis-URL
<portal URL>
Pad van web-API
_api
Bron
Logische naam van de tabel die u wilt gebruiken
Gebruik deze indeling bijvoorbeeld bij het verwijzen naar een case:
https://contoso.powerappsportals.com/_api/case
Alle web-API-resources volgen de respectieve portaltabelmachtigingen in verband met webrollen.
HTTP-methoden
HTTP-aanvragen kunnen verschillende soorten methoden gebruiken. De web-API van portals ondersteunt echter alleen de methoden in de volgende tabel:
Method
Gebruik
Yammer ophalen
Gebruiken bij het ophalen van gegevens uit tabellen.
Post
Te gebruiken bij het maken van records.
Patch
Te gebruiken bij het bijwerken van tabellen of het uitvoeren van upsert-bewerkingen.
Delete
Te gebruiken bij het verwijderen van records of individuele veldwaarden van records.
Put
Te gebruiken in beperkte situaties om afzonderlijke velden van records bij te werken.
HTTP-kopteksten
De web-API ondersteunt alleen JSON. Elke HTTP-header moet het volgende bevatten:
Een koptekstwaarde Accepteren van application/json, zelfs als er geen antwoordtekst wordt verwacht.
Als de aanvraag JSON-gegevens in de aanvraagbody bevat, moet u een Content-Type-header met een waarde van application/json opnemen.
De huidige OData-versie is 4.0, maar toekomstige versies kunnen nieuwe mogelijkheden bieden. Gebruik de volgende syntaxis om ervoor te zorgen dat er geen onduidelijkheid bestaat over de OData-versie die in de toekomst op uw code wordt toegepast:
U kunt deze respons verwachten voor de volgende fouttypen:
MissingPortalRequestVerificationToken
MissingPortalSessionCookie
Clientfout
413 Nettolading te groot
Verwacht deze respons als de aanvraaglengte te groot is.
Clientfout
400 Onjuiste aanvraag
Verwacht deze respons als een argument ongeldig is. InvalidAttribute
Clientfout
404 Niet gevonden
Verwacht deze respons als de resource niet bestaat. De tabel wordt niet weergegeven voor de web-API.
Clientfout
405 Methode niet toegestaan
Deze fout treedt op voor onjuiste combinaties van methode en resource. U kunt bijvoorbeeld niet DELETE of PATCH gebruiken voor een verzameling van tabellen. Deze situatie op optreden bij de volgende fouttypen:
InvalidOperation
NotSupported
Clientfout
501 Niet geïmplementeerd
Verwacht deze respons als een aangevraagde bewerking niet is geïmplementeerd.
Serverfout.
503 Service niet beschikbaar
Verwacht deze respons als de web-API-service niet beschikbaar is.
Serverfout.
Parseerfouten van de respons
Bekijk de volgende voorbeeld-HTTP-respons die nog steeds de interne fout bevat:
{
"error":{
"code": "This code is not related to the http status code and is frequently empty",
"message": "A message describing the error",
"cdscode": "Dataverse error code",
"innererror": {
"code": "800xxxx",
"message": "A message describing the error. This is frequently the same as the outer message.."
}
}
}
Foutcodes
Foutcodes worden weergegeven in hexadecimale indeling voor alle behandelde scenario's. In de volgende tabel wordt elke foutcode met de bijbehorende naam en bericht weergegeven.
Foutcode
Foutnaam
Foutbericht
900400FF
NoAttributesForTableCreate
Geen kenmerken voor actie Tabel maken.
90040100
InvalidAttribute
Kenmerk {0} is niet gevonden voor tabel {1}.
90040101
AttributePermissionIsMissing
Kenmerk {0} in tabel {1} is niet ingeschakeld voor web-API.
90040102
TablePermissionWriteIsMissingDuringUpdate
U bent niet gemachtigd om entiteit {0} bij te werken.
90040103
TablePermissionCreateIsMissing
U bent niet gemachtigd entiteit {0} te maken.
90040104
TablePermissionDeleteIsMissing
U bent niet gemachtigd entiteit {0) te verwijderen.
U bent niet gemachtigd om tabel {1} te koppelen aan of los te koppelen van {0}
90040107
HttpAntiForgeryException
Het cookietoken tegen vervalsing en het formulierveldtoken komen niet overeen.
90040109
MissingPortalSessionCookie
Er is een ongeldig sessietoken doorgegeven aan de uitvoeringsmethode.
9004010C
ResourceDoesNotExists
Resource niet gevonden voor segment '{0}'.
9004010D
CDSError
CDS-fout opgetreden.
Respons voor niet-verwerkte fouten met HTTP-statuscode 500 retourneert de fout 'Er is een onverwachte fout opgetreden bij het verwerken van de aanvraag'.