Récupération de la liste élément à l'aide d'otite chronique sur SharePoint online ne fonctionne pas
m développement d'un modèle d'application sur SharePoint online à l'aide du fournisseur de modèle hébergé.
De clientwebpart, je veux accéder à un élément de liste Sharepoint. Je peux accéder à la liste d'un objet, mais vous ne pouvez pas obtenir l'élément de la liste (toujours vide). J'ai déjà suivi l'exemple de code dans "Apps pour SharePoint pack de SharePoint 2013, la base des opérations d'accès aux données en utilisant otite chronique dans les applications", mais ne fonctionne toujours pas.
Voici mon code:
SharePointContextToken contextToken;
Uri sharepointUrl;
string accessToken;
TokenHelper.TrustAllCertificates();
string contextTokenString = TokenHelper.GetContextTokenFromRequest(Request);
if (contextTokenString != null)
{
contextToken = TokenHelper.ReadAndValidateContextToken(contextTokenString, Request.Url.Authority);
sharepointUrl = new Uri(Request.QueryString["SPHostUrl"]);
accessToken = TokenHelper.GetAccessToken(contextToken, sharepointUrl.Authority).AccessToken;
using (ClientContext clientContext = TokenHelper.GetClientContextWithAccessToken(sharepointUrl.ToString(), accessToken))
{
Web web = clientContext.Web;
ListCollection lists = web.Lists;
List selectedList = lists.GetByTitle("LeaveCategory");
clientContext.Load<ListCollection>(lists); //this lists object is loaded successfully
clientContext.Load<List>(selectedList); //this list object is loaded successfully
clientContext.ExecuteQuery();
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = @"<View><Query><Where><IsNotNull><FieldRef Name='ID' /></IsNotNull></Where></Query><ViewFields><FieldRef Name='ID' /></ViewFields></View>";
Microsoft.SharePoint.Client.ListItemCollection listItems = selectedList.GetItems(camlQuery);
clientContext.Load<Microsoft.SharePoint.Client.ListItemCollection>(listItems); //problem here, this list items is return empty
clientContext.ExecuteQuery();
}
}
Est-il trivial erreur que je fais?
Aussi, je suis en train de créer de nouveaux projets et de suivre les instructions de Comment faire: Créer une base de fournisseur de hébergés application pour SharePoint, et en ajoutant le code toretrieve élément de la liste, mais il renvoie toujours 0 point.
Personne n'a jamais réussi atteindre cet objectif?
Vous devez vous connecter pour publier un commentaire.
Son travail maintenant,
son parce que nous devons ajouter une autorisation spécifique pour l'application fichier AppManifest.xml
- Je ajouter "Liste" au champ d'application et donnez-lui la permission "FullControl"
Après avoir fait seulement ci-dessous, avec une étendue de Liste de l'ensemble des autorisations, sa a fonctionné pour moi:
Dans le cadre de la cellule, choisissez Web à partir de la liste déroulante.
Dans l'Autorisation de la cellule, choisir de Lire à partir de la liste déroulante.