martedì 7 agosto 2018

SPFX The property '__metadata' does not exist on type 'SP.Social.SocialActorInfo'. Make sure to only use property names that are defined by the type.

L'errore compare nelle chiamate effettuate con  SPHttpClient.post e oltre a SP.Social.SocialActorInfo può riguardare qualunque altro tipo Sharepoint (SP. ecc.). La causa dell'errore è da ricercarsi nel fatto che SPHttpClient appende sempre un header odata-version: 4.0 . La soluzione è fare l'override dell'header usando un oggetto ISPHttpClientOptions e fare la chiamata post utilizzando tale oggetto come parametro (vedi questo articolo):

const options: ISPHttpClientOptions = {
   headers: {'odata-version':'3.0'},
   body: {'query': {'__metadata': ...
};