L’utilisation du modèle objet client de SharePoint 2010 permet de facilement récupérer des données, cependant, vous avez peut-être remarqué que son utilisation en mode anonyme ne fonctionne pas.
Vous obtiendrez en effet un message d’erreur comme quoi la méthode “GetItems” a été désactivé par l’administrateur :
"ErrorMessage":"The method \"GetItems\" of the type \"List\" with id \"{xxxxxxx-xxxxxxx-xxx-xxx}\" is blocked by the administrator on the server."
Pour désactiver cette restriction, il faut aller voir du coté de SPClientCallableSettings.AnonymousRestrictedTypes.
Cette propriété référence toutes les méthodes qui sont restreintes dans le cas d’un accès par un utilisateur anonyme.
Nous pouvons voir, en y accédant en PowerShell, que la méthode “GetItems” est bien présente dans les méthodes restreintes.
Afin de permettre la récupération des éléments d’un liste avec les utilisateurs anonymes, vous pouvez appeler ce code dans un script PowerShell :
1: $wa = Get-SPWebApplication -Identity $WebAppName
2: $wa.ClientCallableSettings.AnonymousRestrictedTypes.Remove([Microsoft.SharePoint.SPList], "GetItems")
3: $wa.Update()
Et voilà, vous pouvez maintenant y accéder sans problème..