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();
}
});
}
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.
Créer
Pour effectuer une opération de création via REST, vous devez effectuer les opérations suivantes:
POST
.application/json
.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:
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:
HTTP
en utilisant le verbe POST
.X-HTTP-Method
avec une valeur de MERGE
.POST
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:
POST
.X-HTTP-Method
avec une valeur de DELETE
.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.
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();
}
});
}
}