web-dev-qa-db-fra.com

SharePoint 2010 REST API JQUery Insérer, mettre à jour, supprimer

Est-ce que n'importe qui peut m'expliquer ou me diriger vers un lien avec des exemples de faire Mettre à jour, Supprimer en utilisant Jquery avec l'API de repos 2010 de SharePoint?

L'insert fonctionne et, bien sûr, les requêtes sont expliquées dans la documentation MSDN et chaque tutoriel sur le net explique les requêtes, mais je me demande si quelqu'un insère, met à jour, supprime des données plutôt que des exemples et des tutoriels d'interrogation? Oui, je sais que je peux utiliser le CSOM, mais je veux savoir comment cela se fait via jquery et sharepoint rest? 

Aussi, je veux utiliser la fusion pour la mise à jour.

Voici le code d'insertion de travail:

function insertMilestone() {
            var mileStonesListUrl = "/_vti_bin/listdata.svc/Milestones";    
               var milestone = {};
               milestone.Title = "Testing from REST";

               var entry = JSON.stringify(milestone);

               $.ajax({
                   type: "POST",
                   url: mileStonesListUrl,
                   data: entry,
                   contentType: "application/json; charset=utf-8",
                   error: function (xhr) {
                       alert(xhr.status + ": " + xhr.statusText);
                   },

                   success: function () {
                       getAll();

                   }
               });
           }
13
Fab

J'ai récemment travaillé avec l'API REST pour SP 2013, en tant qu'exemple de POC pouvant être utilisé pour toute implémentation d'appel, par exemple JQuery, C #, etc.

Avec POSTMAN 

Récupère d'abord ton jeton de résumé:

Une méthode a été trouvée sur ce site: http://tech.bool.se/basic-rest-request-sharepoint-using-postman/[Crédit où le crédit est dû]} _

POST

http://<SharePoint Domain Url>/sites/<Site name>/_api/contextinfo

Entête:

Accept : application/json;odata=verbose

Corps: Efface le corps

À partir de la charge utile, utilisez la valeur "FormDigestValue" et insérez-la dans vos en-têtes avec la clé: X-RequestDigest lors de l'exécution d'actions modifiant les éléments dans SharePoint.

Lecture de données:

OBTENIR

http://<SharePoint Domain Url>/sites/<Site name>/_api/web/getfolderbyserverrelativeurl('/Sites/<Site Name>/Shared Documents/My Folder')/files?$select=Name

En-têtes:

Accept : application/json;odata=verbose​

Lorsqu'il s'agit de créer, mettre à jour, supprimer, vous avez besoin du jeton de résumé ou d'un jeton d'autorisation pour effectuer ces actions, ce jeton est mis en surbrillance au début de la récupération.

Création de donnéesPOST

http://<SharePoint Domain Url>/sites/<Site Name>/_api/web/folders​

En-têtes:

Accept : application/json;odata=verbose

X-RequestDigest : 'GUID looking toking'

Content-Type : application/json;odata=verbose

Corps:

{ '__metadata': { 'type': 'SP.Folder' }, 'ServerRelativeUrl': '/Sites/<Site Name>/Shared Documents/Some Folder/POC3'}​

Remarque:('ServerRelativeUrl', le dossier situé à l'extrémité POC3 est le dossier que je veux créer} _

Ressources associées:http://msdn.Microsoft.com/en-us/library/office/fp142380(v=office.15).aspx

Remarque: PostMan a été utilisé pour cet exemple et une autre application peut nécessiter que vous encodiez le noeud final dans l'URL.

La structure de requête ci-dessus peut être utilisée pour toutes les requêtes. La ressource associée met en évidence certaines des méthodes standard utilisables avec l'API REST. 

0
leeroya

Comment effectuer des opérations CRUD à l'aide de l'interface SharePoint 2010 REST

Créer

Pour effectuer une opération de création via REST, vous devez effectuer les opérations suivantes:

  • Créez une requête HTTP en utilisant le verbe POST.
  • Utilisez l'URL de service de la liste à laquelle vous souhaitez ajouter une entité en tant que Cible du POST.
  • Définissez le type de contenu sur application/json.
  • Sérialisez les objets JSON qui représentent vos nouveaux éléments de liste en tant que chaîne Et ajoutez cette valeur au corps de la demande.

Exemple JavaScript:

function createListItem(webUrl,listName, itemProperties, success, failure) {

    $.ajax({
        url: webUrl + "/_vti_bin/listdata.svc/" + listName,
        type: "POST",
        processData: false,
        contentType: "application/json;odata=verbose",
        data: JSON.stringify(itemProperties),
        headers: {
            "Accept": "application/json;odata=verbose"
        },
        success: function (data) {
            success(data.d);
        },
        error: function (data) {
            failure(data.responseJSON.error);
        }
    });
}

Usage

var taskProperties = {
    'TaskName': 'Order Approval',
    'AssignedToId': 12
};

createListItem('https://contoso.sharepoint.com/project/','Tasks',taskProperties,function(task){
    console.log('Task' + task.TaskName + ' has been created'); 
  },
  function(error){
    console.log(JSON.stringify(error));
  }
);

Lis

Pour effectuer une opération de lecture via REST, vous devez effectuer les opérations suivantes:

  • Créez une requête HTTP en utilisant le verbe GET.
  • Utilisez l'URL de service de l'élément de la liste auquel vous souhaitez ajouter une entité En tant que cible de GET.
  • Définissez le type de contenu sur application/json.

Exemple JavaScript:

function getListItemById(webUrl,listName, itemId, success, failure) {
    var url = webUrl + "/_vti_bin/listdata.svc/" + listName + "(" + itemId + ")";
    $.ajax({
        url: url,
        method: "GET",
        headers: { "Accept": "application/json; odata=verbose" },
        success: function (data) {
            success(data.d);
        },
        error: function (data) {
            failure(data.responseJSON.error);
        }
    });
}

Usage

getListItemById('https://contoso.sharepoint.com/project/','Tasks',2,function(taskItem){
    console.log(taskItem.TaskName); 
  },
  function(error){
    console.log(JSON.stringify(error));
  }
);

Mettre à jour

Pour mettre à jour une entité existante, vous devez effectuer les actions suivantes:

  • Créez une demande HTTP en utilisant le verbe POST.
  • Ajoutez un en-tête X-HTTP-Method avec une valeur de MERGE.
  • Utilisez l'URL de service de l'élément de la liste que vous souhaitez mettre à jour en tant que cible Pour la POST
  • Ajoutez un en-tête If-Match avec une valeur de l'ETag d'origine de l'entité.

Exemple JavaScript:

function updateListItem(webUrl,listName,itemId,itemProperties,success, failure)
{
   getListItemById(webUrl,listName,itemId,function(item){

      $.ajax({
         type: 'POST',
         url: item.__metadata.uri,
         contentType: 'application/json',
         processData: false,
         headers: {
                "Accept": "application/json;odata=verbose",
                "X-HTTP-Method": "MERGE",
                "If-Match": item.__metadata.etag
         },
         data: Sys.Serialization.JavaScriptSerializer.serialize(itemProperties),
         success: function (data) {
                success(data);
         },
         error: function (data) {
                failure(data);
         }
      });

   },
   function(error){
       failure(error);
   });

}

Usage

var taskProperties = {
    'TaskName': 'Approval',
    'AssignedToId': 12  
};


updateListItem('https://contoso.sharepoint.com/project/','Tasks',2,taskProperties,function(item){
    console.log('Task has been updated'); 
  },
  function(error){
    console.log(JSON.stringify(error));
  }
);

Effacer

Pour supprimer une entité, vous devez effectuer les actions suivantes:

  • Créez une requête HTTP en utilisant le verbe POST.
  • Ajoutez un en-tête X-HTTP-Method avec une valeur de DELETE.
  • Utilisez l'URL de service de l'élément de la liste que vous souhaitez mettre à jour en tant que cible Pour le POST
  • Ajoutez un en-tête If-Match avec une valeur de l'ETag d'origine de l'entité.

Exemple JavaScript:

function deleteListItem(webUrl, listName, itemId, success, failure) {
    getListItemById(webUrl,listName,itemId,function(item){
        $.ajax({
            url: item.__metadata.uri,
            type: "POST",
            headers: {
                "Accept": "application/json;odata=verbose",
                "X-Http-Method": "DELETE",
                "If-Match": item.__metadata.etag
            },
            success: function (data) {
                success();
            },
            error: function (data) {
                failure(data.responseJSON.error);
            }
        });
    },
   function (error) {
       failure(error);
   });
}

Usage

deleteListItem('https://contoso.sharepoint.com/project/','Tasks',3,function(){
    console.log('Task has been deleted'); 
  },
  function(error){
    console.log(JSON.stringify(error));
  }
);

Veuillez suivre Lister les éléments manipulés via l’API REST dans SharePoint 2010 article pour plus de détails.

17
Vadim Gremyachev

Voici la mise à jour et la suppression, ce n’était pas aussi difficile que je le pensais et ça marche. J'espère que cela va aider quelqu'un parce qu'il y a tellement d'informations erronées sur l'utilisation de l'API REST et que je vois un zillion de messages sur la requête, mais aucun sur Insertion, Mise à jour, Suppression. 

//update
           function updateMilestone(id) {

               var mileStonesUrl = "/_vti_bin/listdata.svc/Milestones";
               mileStonesUrl = mileStonesUrl + "(" + id+ ")";


               var beforeSendFunction;

               var milestoneModifications = {};
               milestoneModifications.Title = "Updated from REST";

               var updatedMilestoneData = JSON.stringify(milestoneModifications);


               //update exsiting milestone
               beforeSendFunction = function (xhr) {
                   xhr.setRequestHeader("If-Match", "*");
                   // Using MERGE so that the entire entity doesn't need to be sent over the wire.
                   xhr.setRequestHeader("X-HTTP-Method", 'MERGE');
               }

               $.ajax({
                   type: "POST",
                   contentType: "application/json; charset=utf-8",
                   processData: false,
                   beforeSend: beforeSendFunction,
                   url: mileStonesUrl,
                   data: updatedMilestoneData,
                   dataType: "json",
                   error: function (xhr) {
                       alert(xhr.status + ": " + xhr.statusText);
                   },

                   success: function () {
                       alert("Updated");
                       getAll();

                   }
               });




     function deleteMilestone(id) {

               var mileStonesUrl = "/_vti_bin/listdata.svc/Milestones";
               mileStonesUrl = mileStonesUrl + "(" + id+ ")";

               $.ajax({
                   type: "DELETE",
                   contentType: "application/json; charset=utf-8",
                   processData: false,                       
                   url: mileStonesUrl,                     
                   error: function (xhr) {
                       alert(xhr.status + ": " + xhr.statusText);
                   },
                   success: function () {
                       alert("deleted");
                       getAll();

                   }
               });

           }




           }
8
Fab