Referencia de archivos y carpetas de las API de REST
Obtenga información sobre la API de REST para File, FileVersion, Folder y los recursos relacionados.
Última modificación: jueves, 17 de septiembre de 2015
Hace referencia a: apps for SharePoint | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013
Acerca de los ejemplos de solicitudes en este artículo
En los ejemplos de solicitud en este artículo, se supone que está utilizando la biblioteca entre dominios (SP.RequestExecutor.js) para realizar las solicitudes entre dominios, por lo que usan SP.AppContextSite en el URI del extremo. Consulte Cómo obtener acceso a los datos de SharePoint 2013 desde aplicaciones con la biblioteca entre dominios para obtener más información.
Antes de usar un ejemplo de solicitud, realice lo siguiente:
Cambie <url de web de aplicación>, <url de web de host> y otros datos de marcador de posición, como cualquier identificador, nombre o ruta de acceso de entidades de SharePoint.
Si no está utilizando la biblioteca entre dominios, incluya un encabezado X-RequestDigest para enviar el valor de síntesis de formulario en todas las solicitudes POST y un encabezado content-length para solicitudes POST que envían datos en el cuerpo de la solicitud.
Si no realiza solicitudes entre dominios, quite SP.AppContextSite(@target) y ?@target='<host web url>' del extremo del identificador URI.
Si está utilizando OAuth, incluya un encabezado Authorization ("Authorization": "Bearer " + <access token>) para enviar el token de acceso OAuth.
Quite los saltos de línea de los valores de propiedad url y body en los ejemplos de solicitud. Se agregan saltos de línea a los ejemplos para facilitar la lectura.
Si quiere que el servidor devuelva respuestas en formato Atom, quite el encabezado "accept": "application/json; odata=verbose".
Consulte Recursos adicionales para obtener más información acerca del uso de la biblioteca entre dominios, OAuth y el servicio REST de SharePoint. Consulte Cómo difieren las solicitudes REST por entorno y Propiedades usadas en solicitudes de REST para obtener información acerca de formatos de solicitudes.
Sugerencia
El servicio REST de SharePoint Online admite la combinación de varias solicitudes en una sola llamada al servicio mediante el uso de la opción de consulta $batch de OData. Para obtener información detallada y vínculos a los ejemplos de código, vea Realizar solicitudes de lote con las API de REST. Esta opción aún no está disponible para la implementación de SharePoint local.
Exploración de la sintaxis REST de archivos y carpetas de SharePoint 2013
Exploración visual de la sintaxis de REST de los elementos de lista y las listas de SharePoint 2013. Exploración de otros diagramas de sintaxis de REST de SharePoint: Listas y elementos de lista | Usuarios y grupos Descargue el PDF combinado de todos los diagramas de sintaxis de REST de SharePoint |
Recurso de archivo
Representa un archivo de un sitio web de SharePoint que puede ser una página de elementos web, un elemento de una biblioteca de documentos o un archivo de una carpeta.
URI del extremo | Propiedades | Métodos | Representación OData
URI del extremo
http:// <url del sitio> /_api/web/getfilebyserverrelativeurl('/ <nombre de la carpeta> / <nombre del archivo> ')
Métodos HTTP compatibles
GET | PUT (recurso de medios)
GET | DELETE | POST (recurso de archivo)
Ejemplos de solicitudes
Ejemplo de solicitud GET: obtener contenido de archivo (recurso de medios)
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/$value
?@target='<host web url>'",
method: "GET",
binaryStringResponseBody: true,
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud GET: obtener metadatos de archivo
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud PUT: actualizar contenido de archivo (recurso multimedia)
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.txt')/$value
?@target='<host web url>'",
method: "POST",
body: "Updated contents of the file go here",
headers: { "X-HTTP-Method":"PUT" },
success: successHandler,
error: errorHandler
});
Desproteja primero el archivo para impedir que otros usuarios lo cambien. Luego, protéjalo de nuevo cuando haya hecho los cambios. Vea el método CheckOut y el método CheckIn.
Ejemplo de solicitud DELETE: eliminar un archivo
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
?@target='<host web url>'",
method: "POST",
headers: { "X-HTTP-Method":"DELETE" },
success: successHandler,
error: errorHandler
});
O bien, puede usar el método Recycle para quitar el archivo y obtener el GUID del elemento reciclado.
Nota
Consulte el método Add para ver un ejemplo que muestra cómo crear un archivo y agregarlo a una carpeta.
Propiedades de archivo
Para obtener una propiedad, envíe una solicitud GET al extremo de la propiedad, tal como se muestra en el siguiente ejemplo.
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/<property name>
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Propiedad |
Tipo |
L/E |
Descripción |
|
---|---|---|---|---|
Author |
L |
No |
Obtiene un valor que especifica el usuario que agregó el archivo. |
|
CheckedOutByUser |
L |
No |
Obtiene un valor que devuelve el usuario que desprotegió el archivo. |
|
CheckInComment |
String |
L |
Sí |
Obtiene un valor que devuelve el comentario usado cuando se protege un documento en una biblioteca de documentos. |
CheckOutType |
Int32 |
L |
Sí |
Obtiene un valor que indica el modo en que se desprotege el archivo de una biblioteca de documentos. Representa un valor SP.CheckOutType: Online = 0; Offline = 1; None = 2. El estado de desprotección de un archivo es independiente de su estado de bloqueo. |
ContentTag |
String |
L |
Sí |
Devuelve la versión interna del contenido, que se usa para validar la igualdad de documentos con propósitos de lectura. |
CustomizedPageStatus |
Int32 |
L |
Sí |
Obtiene un valor que especifica el estado de personalización del archivo. Representa un valor SP.CustomizedPageStatus: None = 0; Uncustomized = 1; Customized = 2. |
ETag |
String |
L |
Sí |
Obtiene un valor que especifica el valor de ETag. |
Exists |
Boolean |
L |
Sí |
Obtiene un valor que especifica si existe el archivo. |
Length |
Int64 |
L |
Sí |
Obtiene el tamaño del archivo en bytes, excluyendo el tamaño de los elementos web que se usan en el archivo. |
Level |
Byte |
L |
Sí |
Obtiene un valor que especifica el nivel de publicación del archivo. Representa un valor SP.FileLevel: Published = 1; Draft = 2; Checkout = 255. |
ListItemAllFields |
L |
No |
Obtiene un valor que especifica los valores de campo de elemento de lista para el elemento de lista correspondiente al archivo. |
|
LockedByUser |
L |
No |
Obtiene un valor que devuelve el usuario propietario del bloqueo actual en el archivo. |
|
MajorVersion |
Int32 |
L |
Sí |
Obtiene un valor que especifica la versión principal del archivo. |
MinorVersion |
Int32 |
L |
Sí |
Obtiene un valor que especifica la versión secundaria del archivo. |
ModifiedBy |
L |
No |
Obtiene un valor que devuelve el usuario que modificó el archivo por última vez. |
|
Name |
String |
L |
Sí |
Obtiene el nombre del archivo que incluye la extensión. |
ServerRelativeUrl |
String |
L |
Sí |
Obtiene la dirección URL relativa del archivo en función de la dirección URL del servidor. |
TimeCreated |
DateTime |
L |
Sí |
Obtiene un valor que especifica cuándo se creó el archivo. |
TimeLastModified |
DateTime |
L |
Sí |
Obtiene un valor que especifica cuándo se modificó por última vez el archivo. |
Title |
String |
L |
Sí |
Obtiene un valor que especifica el nombre para mostrar del archivo. |
UiVersion |
Int32 |
L |
Sí |
Obtiene un valor que especifica el identificador de versión específico de la implementación del archivo. |
UiVersionLabel |
String |
L |
Sí |
Obtiene un valor que especifica el identificador de versión específico de la implementación del archivo. |
Versions |
L |
No |
Obtiene un valor que devuelve una colección de objetos de versión de archivo que representan las versiones del archivo. |
Métodos de archivo
Approve
CancelUpload
CheckIn
CheckOut
ContinueUpload
CopyTo
DeleteObject
Deny
FinishUpload
GetLimitedWebPartManager
MoveTo
OpenBinaryStream
Publish
Recycle
SaveBinaryStream
StartUpload
UndoCheckOut
Unpublish
Approve
Aprueba el archivo enviado para la aprobación de su contenido con el comentario especificado.
Solo se pueden aprobar los documentos en las listas que están habilitados para la aprobación de contenido.
Extremo |
/approve(comment) |
Parámetros |
|
Método HTTP |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/approve(comment='Check-in comment for the approval.')
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método CancelUpload
Detiene la sesión de carga de fragmentos sin guardar los datos cargados. Si el archivo no existe aún en la biblioteca, se eliminará el archivo parcialmente cargado. Use esto como respuesta a la acción de un usuario (como en una solicitud para cancelar una carga) o un error o excepción.
Use el valor uploadId que se pasó al método StartUpload que inició la sesión de carga.
Este método actualmente solo está disponible en Office 365.
Endpoint |
/cancelupload(uploadId) |
Parameters |
|
HTTP method |
POST |
Response |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/cancelupload(uploadId=guid'GUID')
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método CheckIn
Protege el archivo en una biblioteca de documentos en función del tipo de protección.
Endpoint |
/checkin(comment, checkInType) |
Parameters |
|
HTTP method |
POST |
Response |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/checkin(comment='Check-in comment.',checkintype=0)
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método CheckOut
Desprotege el archivo de una biblioteca de documentos en función del tipo de desprotección.
Endpoint |
/checkout |
Parameters |
Ninguna |
HTTP method |
POST |
Response |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/checkout
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método ContinueUpload
Continúa la sesión de carga de fragmentos con un fragmento adicional. El contenido del archivo actual no se modifica.
Use el valor uploadId que se pasó al método StartUpload que inició la sesión de carga.
Este método actualmente solo está disponible en Office 365.
Endpoint |
/continueupload(uploadId, fileOffset) |
Parameters |
Enviar el contenido del archivo (secuencia) en el cuerpo de envío. |
HTTP method |
POST |
Response |
Tipo: Int64 |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/continueupload(uploadId=guid'GUID',fileOffset=8388608)
?@target='<host web url>'",
method: "POST",
body: stream containing intermediate chunk of file
success: successHandler,
error: errorHandler
});
Método CopyTo
Copia el archivo en la dirección URL de destino.
Extremo |
/copyto(strNewUrl, bOverWrite) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/copyto(strnewurl='/foldername/filename.docx',boverwrite=false)
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método DeleteObject
El método recomendado para eliminar un archivo es enviar una solicitud DELETE al extremo del recurso File, tal como se muestra en los ejemplos de solicitudes de archivo.
Método Deny
Deniega la aprobación para un archivo que se envió para aprobación de contenido.
Solo se pueden denegar los documentos en las listas que están habilitados para la aprobación de contenido.
Extremo |
/deny(comment) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/deny(comment='Check-in comment for the denial.')
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método FinishUpload
Carga el último fragmento de archivo y confirma el archivo. El contenido del archivo actual se modifica cuando este método se completa.
Use el valor uploadId que se pasó al método StartUpload que inició la sesión de carga.
Este método actualmente solo está disponible en Office 365.
Endpoint |
/finishupload(uploadId, fileOffset) |
Parameters |
Enviar el contenido del archivo (secuencia) en el cuerpo de envío. |
HTTP method |
POST |
Response |
Tipo: SP.File |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/finishupload(uploadId=guid'GUID',fileOffset=125829120)
?@target='<host web url>'",
method: "POST",
body: stream containing final chunk of file
success: successHandler,
error: errorHandler
});
Método GetLimitedWebPartManager
Especifica el conjunto de controles usado para obtener acceso a los elementos web asociados con esta vista y página de elementos web, modificarlos o agregar elementos nuevos.
Se produce una excepción si el archivo no es una página ASPX.
Extremo |
/getlimitedwebpartmanager(scope) |
Parámetros |
|
HTTP method |
GET |
Respuesta |
Tipo: SP.WebParts.LimitedWebPartManager |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/fileName.aspx')
/getlimitedwebpartmanager(scope=0)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Método MoveTo
Mueve el archivo a la dirección URL de destino especificada.
Extremo |
/moveto(newUrl, flags) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/moveto(newurl='/Other Folder/filename.docx',flags=1)
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método OpenBinaryStream
Abre el archivo como secuencia.
Extremo |
/openbinarystream |
Parámetros |
Ninguna |
HTTP method |
GET |
Respuesta |
Tipo: Stream |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/openbinarystream
?@target='<host web url>'",
method: "GET",
binaryStringResponseBody: true,
success: successHandler,
error: errorHandler
});
Nota
O bien, puede usar $value del recurso de archivo para abrir un archivo. Ejemplo: …/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/$value.
Método Publish
Envía el archivo para la aprobación de su contenido con el comentario especificado.
Extremo |
/publish(comment) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/publish(comment='Check-in comment for the publish operation.')
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método Recycle
Mueve el archivo a la papelera de reciclaje y devuelve el identificador del elemento de papelera de reciclaje nuevo.
Extremo |
/recycle |
Parámetros |
Ninguna |
HTTP method |
POST |
Respuesta |
Tipo: GUID |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/recycle
?@target='<host web url>'",
method: "POST",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Método SaveBinaryStream
Extremo |
/savebinary |
Parámetros |
Enviar el contenido del archivo (secuencia) en el cuerpo de envío. |
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/savebinarystream
?@target='<host web url>'",
method: "POST",
body: "This is the new content.",
success: successHandler,
error: errorHandler
});
Método StartUpload
Inicia una nueva sesión de carga de fragmentos y carga el primer fragmento. El contenido del archivo actual no se cambia cuando se completa el método. El método es idempotente (y por ende no cambia el resultado) siempre que se usen los mismos valores para uploadId y stream. La sesión de carga termina cuando usa el método CancelUpload o cuando completa correctamente la sesión de carga al pasar el resto de los contenidos del archivo mediante los métodos ContinueUpload y FinishUpload.
Por ejemplo, puede pasar un archivo de 35 MB dividiéndolo en tres secuencias de 10 MB y una secuencia de 5 MB, y cargándolo de esta manera (con los valores de desplazamiento resultantes de 10, 20 y 30 MB):
startUpload(GUID, stream1)
continueUpload(GUID, 10 MB, stream2)
continueUpload(GUID, 20 MB, stream3)
finishUpload(GUID, 30 MB, stream4)
Los métodos StartUpload y ContinueUpload devuelven el tamaño de la ejecución total de los datos cargados en bytes, para que pueda pasar dichos valores devueltos a usos posteriores de ContinueUpload y FinishUpload.
Este método actualmente solo está disponible en Office 365.
Endpoint |
/startupload(uploadId) |
Parameters |
Enviar el contenido del archivo (secuencia) en el cuerpo de envío. |
HTTP method |
POST |
Response |
Tipo: Int64 |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/startupload(uploadId=guid'GUID')
?@target='<host web url>'",
method: "POST",
body: stream containing first chunk of file
success: successHandler,
error: errorHandler
});
Método UndoCheckOut
Revierte una desprotección existente del archivo.
Extremo |
/undocheckout |
Parámetros |
Ninguna |
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/undocheckout
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método Unpublish
Quita el archivo de la aprobación de contenido o cancela la publicación de una versión principal.
Extremo |
/unpublish |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/unpublish(comment='Check-in comment for the unpublish operation.')
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Representación OData
El siguiente ejemplo representa un recurso de archivo en formato JSON.
{"d":{
"__metadata":{,
"id":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared Documents/folderName/fileName.docx')",
"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')",
"type":"SP.File"
},
"Author":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/Author"}},
"CheckedOutByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/CheckedOutByUser"}},
"ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/ListItemAllFields"}},
"LockedByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/LockedByUser"}},
"ModifiedBy":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/ModifiedBy"}},
"Versions":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/Versions"}},
"CheckInComment":"Revisions to the file.",
"CheckOutType":2,
"ContentTag":"{2FBB0C3C-4059-41A2-A5CF-3E076EA0A94C},2,3",
"CustomizedPageStatus":0,
"ETag":"\"{2FBB0C3C-4059-41A2-A5CF-3E076EA0A94C},2\"",
"Exists":true,
"Length":"20609",
"Level":1,
"MajorVersion":1,
"MinorVersion":0,
"Name":"fileName.docx",
"ServerRelativeUrl":"/Shared Documents/folderName/fileName.docx",
"TimeCreated":"2013-05-16T21:01:23Z",
"TimeLastModified":"2013-05-18T04:57:32Z",
"Title":"",
"UIVersion":512,
"UIVersionLabel":"1.0"
}}
Recurso FileCollection
Representa una colección de recursos File.
URI del extremo | Métodos | Representación OData
URI del extremo
http://<url del sitio>/_api/web/getfolderbyserverrelativeurl('/<nombre de la carpeta;')/files
Métodos HTTP compatibles
GET | POST
Ejemplos de solicitudes
Ejemplo de solicitud GET: obtener los metadatos de todos los archivos en una carpeta
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')/files
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud GET: obtener contenido de archivo (recurso multimedia) por nombre de archivo
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')/files('filename.docx')/$value
?@target='<host web url>'",
method: "GET",
binaryStringResponseBody: true,
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud GET: obtener metadatos de archivo
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')/files('filename.docx')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
};
Consulte los ejemplos de solicitudes de archivo para ver ejemplos de cómo recuperar un archivo mediante el extremo de GetFileByServerRelativeUrl y cómo actualizar y eliminar un archivo. Para crear un archivo, vea el método Add.
Métodos FileCollection
Método Add
Extremo |
/add(content, overwrite, url) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Tipo: SP.File |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')/files
/add(overwrite=true,url='filename.txt')
?@target='<host web url>'",
method: "POST",
body: "Contents of the file go here",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
En el siguiente ejemplo se muestra cómo subir un archivo binario mediante la biblioteca entre dominios, que requiere convertir la secuencia de archivos en una cadena. Para un ejemplo de jQuery, vea Subir un archivo con la API de REST y jQuery.
function addFile(arrayBuffer) {
var executor = new SP.RequestExecutor(appWebUrl);
// Construct the endpoint.
// The GetList method is available for SharePoint Online only.
var fileCollectionEndpoint = String.format(
"{0}/_api/sp.appcontextsite(@target)/web/getlist('{1}')/" +
"rootfolder/files/add(overwrite=true, url='{2}')?@target='{3}'",
appWebUrl, listName, fileName, hostWebUrl);
var fileData = '';
var byteArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteArray.byteLength; i++) {
fileData += String.fromCharCode(byteArray[i]);
}
// Send the request.
executor.executeAsync({
url: fileCollectionEndpoint,
method: "POST",
body: fileData,
binaryStringRequestBody: true,
headers: {"accept":"application/json;odata=verbose"},
success: function (data) {
alert('File upload succeeded.');
},
error: function (err) {
alert('Error: ' + err.responseText);
}
});
}
Método AddTemplateFile
Agrega un archivo fantasma a una biblioteca de documentos o lista existente.
Extremo |
/addTemplateFile(urlOfFile,templateFileType) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Tipo: SP.File |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents')/files
/addtemplatefile(urloffile='/Shared Documents/newwikipage.aspx',templatefiletype=1)
?@target='<host web url>'",
method: "POST",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Método GetByUrl
Obtiene el archivo en la dirección URL especificada.
El extremo de GetFileByServerRelativeUrl es el método recomendado para obtener un archivo. Consulte los ejemplos de solicitudes SP.File.
Extremo |
/getbyurl('<nombre o url relativa al servidor de archivo>') |
Parámetros |
Ninguna |
HTTP method |
GET |
Respuesta |
Tipo: SP.File |
Ejemplos de solicitudes
Obtener contenido de archivo (recurso multimedia)
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/foldername')/files
/getbyurl('filename.docx')/$value
?@target='<host web url>'",
method: "GET",
binaryStringResponseBody: true,
success: successHandler,
error: errorHandler
});
Obtener los metadatos de un archivo (recurso de archivo)
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/foldername')/files
/getbyurl('filename.docx')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Consulte los ejemplos de solicitudes de archivo y los ejemplos de solicitudes FileCollection para ver otras maneras de obtener un archivo.
Representación OData
El siguiente ejemplo representa un recurso FileCollection en formato JSON.
{"d":{
"results":[{
"__metadata":{
"id":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared Documents/folderName/fileName1.docx')",
"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')",
"type":"SP.File"
},
"Author":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/Author"}},
"CheckedOutByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/CheckedOutByUser"}},
"ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/ListItemAllFields"}},
"LockedByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/LockedByUser"}},
"ModifiedBy":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/ModifiedBy"}},
"Versions":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/Versions"}},
"CheckInComment":"",
"CheckOutType":2,
"ContentTag":"{2FBB0C3C-4059-41A2-A5CF-3E076EA0A94C},4,7",
"CustomizedPageStatus":0,
"ETag":"\"{2FBB0C3C-4059-41A2-A5CF-3E076EA0A94C},4\"",
"Exists":true,
"Length":"20609",
"Level":1,
"MajorVersion":1,
"MinorVersion":0,
"Name":"fileName1.docx",
"ServerRelativeUrl":"/Shared Documents/folderName/fileName1.docx",
"TimeCreated":"2013-05-16T21:01:23Z",
"TimeLastModified":"2013-06-09T02:38:14Z",
"Title":"Title of fileName1",
"UIVersion":512,
"UIVersionLabel":"1.0"
},{
"__metadata":{
"id":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared Documents/folderName/fileName2.docx')",
"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')",
"type":"SP.File"
},
"Author":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/Author"}},
"CheckedOutByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/CheckedOutByUser"}},
"ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/ListItemAllFields"}},
"LockedByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/LockedByUser"}},
"ModifiedBy":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/ModifiedBy"}},
"Versions":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/Versions"}},
"CheckInComment":"",
"CheckOutType":2,
"ContentTag":"{E654B970-C4BF-4DC5-9719-B5B01CAD6FD9},4,9",
"CustomizedPageStatus":0,
"ETag":"\"{E654B970-C4BF-4DC5-9719-B5B01CAD6FD9},4\"",
"Exists":true,
"Length":"12263",
"Level":1,
"MajorVersion":1,
"MinorVersion":0,
"Name":"fileName2.docx",
"ServerRelativeUrl":"/Shared Documents/folderName/fileName2.docx",
"TimeCreated":"2013-05-18T05:01:51Z",
"TimeLastModified":"2013-06-09T02:38:59Z",
"Title":"Title of fileName2",
"UIVersion":512,
"UIVersionLabel":"1.0"
}]}}
Recurso FileVersion
Representa una versión de un recurso File.
URI del extremo | Propiedades | Métodos | Representación OData
URI del extremo
http://<url del sitio>/_api/web/getfilebyserverrelativeurl('/<nombre de la carpeta>/<nombre del archivo>')/versions(<id. de la versión>)
Métodos HTTP compatibles
GET | POST | DELETE
Ejemplos de solicitudes
Ejemplo de solicitud GET: obtener los metadatos para una versión de archivo
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions(512)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud DELETE: eliminar una versión específica de un archivo
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions(513)
?@target='<host web url>'",
method: "POST",
headers: { "X-HTTP-Method":"DELETE" },
success: successHandler,
error: errorHandler
});
Propiedades FileVersion
Para obtener una propiedad, envíe una solicitud GET al extremo de la propiedad, tal como se muestra en el siguiente ejemplo.
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')
/versions(512)/<property name>
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Propiedad |
Tipo |
L/E |
Descripción |
|
---|---|---|---|---|
CheckInComment |
String |
L |
Sí |
Obtiene un valor que especifica el comentario de protección. |
Created |
DateTime |
L |
Sí |
Obtiene un valor que especifica la fecha y hora de creación de la versión de archivo. |
CreatedBy |
L |
No |
Obtiene un valor que especifica el usuario que representa al creador de la versión de archivo. |
|
Identificador |
Int32 |
L |
Sí |
Obtiene el identificador interno de la versión de archivo. |
IsCurrentVersion |
Boolean |
L |
Sí |
Obtiene un valor que especifica si la versión de archivo es la versión actual. |
Size |
Int32 |
L |
Sí |
|
Url |
String |
L |
Sí |
Obtiene un valor que especifica la dirección URL relativa de la versión de archivo en función de la dirección URL del sitio o subsitio. |
VersionLabel |
String |
L |
Sí |
Obtiene un valor que especifica el identificador específico de la implementación del archivo. Usa el formato NúmeroVersiónPrincipal.NúmeroVersiónSecundaria, por ejemplo: 1.2. |
Métodos FileVersion
Método DeleteObject
El método recomendado para eliminar una versión de archivo es enviar una solicitud DELETE al extremo del recurso FileVersion, tal como se muestra en los ejemplos de solicitudes FileVersion.
Representación OData
El siguiente ejemplo representa un recurso FileVersion en formato JSON.
{"d":{
"__metadata":{,
"id":"http://<site url>/_api/web/getfilebyserverrelativeurl('/Shared Documents/folderName/fileName1.docx')/versions(512)",
"uri":"http://<site url>/_api/web/getfilebyserverrelativeurl('/Shared%20Documents/folderName/fileName1.docx')/versions(512)",
"type":"SP.FileVersion"
},
"CreatedBy":{"__deferred":{"uri":"http://<site url>/_api/web/getfilebyserverrelativeurl('/Shared%20Documents/folderName/fileName1.docx')/versions(512)/CreatedBy"}},
"CheckInComment":"Revisions to the file.",
"Created":"2013-06-10T04:02:53Z",
"ID":512,
"IsCurrentVersion":true,
"Size":20609,
"Url":"_vti_history/512/Shared Documents/folderName/fileName1.docx",
"VersionLabel":"1.0"
}}
Recurso FileVersionCollection
Representa una colección de recursos FileVersion.
URI del extremo | Métodos | Representación OData
URI del extremo
http:// <url del sitio> /_api/web/getfilebyserverrelativeurl('/ <nombre de la carpeta> / <nombre del archivo> ')/versions
Métodos HTTP
Este recurso admite los siguientes métodos HTTP:
GET | POST
Ejemplo de solicitud
Ejemplo de solicitud GET: obtener los metadatos para todas las versiones de un archivo
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud GET: obtener los metadatos para una versión de archivo
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions(512)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Métodos FileVersionCollection
DeleteAll
DeleteById
DeleteByLabel
GetById
RestoreByLabel
Método DeleteAll
Elimina todos los objetos de versión de archivo de la colección.
Extremo |
/deleteall |
Parámetros |
Ninguna |
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
/deleteall
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método DeleteById
Elimina la versión especificada del archivo.
Extremo |
/deletebyid(vid) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
/deletebyid(vid=3)
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método DeleteByLabel
Elimina el objeto de versión de archivo con la etiqueta de versión especificada.
Extremo |
/deletebylabel(versionlabel) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
/deletebylabel(versionlabel='1.2')
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Método GetById
Extremo |
/getbyid(versionid) |
Parámetros |
|
HTTP method |
GET |
Respuesta |
Tipo: SP.FileVersion |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
/getbyid(512)
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
O bien, puede pasar el id. de la versión directamente a la colección (…/versions(512)). Vea los ejemplos de solicitudes FileVersionCollection.
Método RestoreByLabel
Crea una versión de archivo nueva del archivo especificado por la etiqueta de versión.
Extremo |
/restorebylabel(versionlabel) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Ninguna |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
/restorebylabel(versionlabel='1.2')
?@target='<host web url>'",
method: "POST",
success: successHandler,
error: errorHandler
});
Representación OData
El siguiente ejemplo representa un recurso FileVersionCollection en formato JSON.
{"d":{
"results":[{
"__metadata":{
"id":"http://<site url>/_api/SP.FileVersiona6a6bb00-2b96-41e6-a901-46df015183b9",
"uri":"http://<site url>/_api/SP.FileVersiona6a6bb00-2b96-41e6-a901-46df015183b9",
"type":"SP.FileVersion"
},
"CreatedBy":{"__deferred":{"uri":"http://<site url>/_api/SP.FileVersiona6a6bb00-2b96-41e6-a901-46df015183b9/CreatedBy"}},
"CheckInComment":"",
"Created":"2013-06-10T04:02:53Z",
"ID":512,
"IsCurrentVersion":true,
"Size":20609,
"Url":"_vti_history/512/Shared Documents/folderName/fileName1.docx",
"VersionLabel":"1.0"
},{
"__metadata":{
"id":"http://<site url>/_api/SP.FileVersion6accd876-7579-47b6-9779-19a24f6ab8a1",
"uri":"http://<site url>/_api/SP.FileVersion6accd876-7579-47b6-9779-19a24f6ab8a1",
"type":"SP.FileVersion"
},
"CreatedBy":{"__deferred":{"uri":"http://<site url>/_api/SP.FileVersion6accd876-7579-47b6-9779-19a24f6ab8a1/CreatedBy"}},
"CheckInComment":"Revisions to the file.",
"Created":"2013-06-11T17:42:41Z",
"ID":513,
"IsCurrentVersion":false,
"Size":17973,
"Url":"_vti_history/513/Shared Documents/folderName/fileName1.docx",
"VersionLabel":"1.1"
}]}}
Recurso de carpeta
Representa una carpeta de un sitio web de SharePoint.
URI del extremo | Propiedades | Métodos | Representación OData
URI del extremo
http://<url del sitio>/_api/web/getfolderbyserverrelativeurl('/<nombre de la carpeta;')
Métodos HTTP compatibles
GET | POST | DELETE | MERGE | PUT
Ejemplos de solicitudes
Ejemplo de solicitud GET: obtener una carpeta
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud MERGE: cambiar una carpeta
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata':{ 'type': 'SP.Folder' }, 'WelcomePage':'Folder B/WelcomePage.aspx' }",
headers: {
"content-type": "application/json; odata=verbose",
"X-HTTP-Method": "MERGE"
},
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud DELETE: eliminar una carpeta
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')
?@target='<host web url>'",
method: "POST",
headers: { "X-HTTP-Method":"DELETE" },
success: successHandler,
error: errorHandler
});
Consulte los ejemplos de solicitudes FolderCollection para ver un ejemplo de cómo crear una carpeta.
Propiedades de carpeta
Para obtener una propiedad, envíe una solicitud GET al extremo de la propiedad, tal como se muestra en el siguiente ejemplo.
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')/<property name>
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Para establecer una propiedad que permita escritura, obtenga el recurso, establezca el valor de la propiedad en el cuerpo y luego use el método MERGE en el recurso para combinar los cambios o use el método PUT para reemplazar el recurso. Consulte los ejemplos de solicitudes de carpeta para ver un ejemplo.
Propiedad |
Tipo |
L/E |
Descripción |
|
---|---|---|---|---|
ContentTypeOrder |
Collection(SP.ContentTypeId) |
L |
Sí |
Especifica la secuencia en la que se muestran los tipos de contenido. |
Files |
L |
No |
Obtiene la colección de todos los archivos incluidos en la carpeta de lista. Puede agregar un archivo a una carpeta mediante el método Add en el recurso FileCollection de la carpeta. |
|
Folders |
L |
No |
Obtiene la colección de carpetas de lista incluidas en la carpeta de lista. |
|
ItemCount |
Int32 |
L |
Sí |
Obtiene un valor que especifica el recuento de elementos en la carpeta de lista. |
ListItemAllFields |
L |
No |
Especifica los valores de los campos (2) de elementos de lista para el elemento de lista correspondiente al archivo. |
|
Name |
String |
L |
Sí |
Obtiene el nombre de la carpeta. |
ParentFolder |
L |
No |
Obtiene la carpeta de lista primaria de la carpeta. |
|
Propiedades |
SP.PropertyValues |
L |
No |
Obtiene la colección de todos los archivos incluidos en la carpeta. |
ServerRelativeUrl |
String |
L |
Sí |
Obtiene la dirección URL relativa al servidor de la carpeta de lista. |
UniqueContentTypeOrder |
Collection(SP.ContentTypeId) |
LE |
Sí |
Obtiene o establece un valor que especifica el orden del tipo de contenido. |
WelcomePage |
String |
LE |
Sí |
Obtiene o establece un valor que especifica la dirección URL relativa a la carpeta de la página principal de la carpeta de lista. |
Métodos de carpeta
Método DeleteObject
El método recomendado para eliminar una carpeta es enviar una solicitud DELETE al extremo del recurso Folder, tal como se muestra en los ejemplos de solicitudes de carpeta.
Método Recycle
Mueve la carpeta de lista a la papelera de reciclaje y devuelve el identificador del elemento de papelera de reciclaje nuevo.
Extremo |
/recycle |
HTTP method |
POST |
Parámetros |
Ninguna |
Respuesta |
Tipo: GUID |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')
/recycle
?@target='<host web url>'",
method: "POST",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Representación OData
El siguiente ejemplo representa un recurso de carpeta en formato JSON.
{"d":{
"__metadata":{,
"id":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared Documents/Folder A')",
"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')",
"type":"SP.Folder"
},
"Files":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/Files"}},
"ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/ListItemAllFields"}},
"ParentFolder":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/ParentFolder"}},
"Properties":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/Properties"}},
"Folders":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/Folders"}},
"ItemCount":7,
"Name":"Folder A",
"ServerRelativeUrl":"/Shared Documents/Folder A",
"WelcomePage":""
}}
Recurso FolderCollection
Representa una colección de recursos Folder.
URI del extremo | Métodos | Representación OData
URI del extremo
http://<url del sitio>/_api/web/folders (carpetas de nivel superior en el sitio raíz)
http://<url del sitio>/_api/web/getfolderbyserverrelativeurl('/<nombre de la carpeta>')/folders
Métodos HTTP compatibles
GET | POST
Ejemplos de solicitudes
Ejemplo de solicitud GET: obtener las carpetas en el sitio raíz
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/folders
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud GET: obtener las carpetas en una biblioteca de documentos
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents')/folders
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud GET: obtener una carpeta por nombre
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')/folders('Folder B')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Ejemplo de solicitud POST: crear una carpeta (o se puede usar el método Add)
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web
/getfolderbyserverrelativeurl('/Shared Documents/Folder A')/folders
?@target='<host web url>'",
method: "POST",
body: "{ '__metadata':{ 'type': 'SP.Folder' }, 'ServerRelativeUrl':'Folder B' }",
headers: {
"accept": "application/json; odata=verbose",
"content-type": "application/json; odata=verbose"
},
success: successHandler,
error: errorHandler
});
Consulte los ejemplos de solicitudes Folder para ver ejemplos de cómo actualizar y eliminar una carpeta.
Métodos FolderCollection
Método Add
Agrega la carpeta ubicada en la dirección URL especificada a la colección.
Extremo |
/add(url) |
Parámetros |
|
HTTP method |
POST |
Respuesta |
Tipo: SP.Folder |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/folders
/add('/Shared Documents/Folder A/Folder B')
?@target='<host web url>'",
method: "POST",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
Método GetByUrl
Extremo |
/getbyurl('<url de carpeta relativa al servidor>') |
Parámetros |
Tipo: String |
HTTP method |
GET |
Respuesta |
Tipo: SP.Folder |
Ejemplo de solicitud
executor.executeAsync({
url: "<app web url>/_api/SP.AppContextSite(@target)/web/folders
/getbyurl('Folder B')
?@target='<host web url>'",
method: "GET",
headers: { "accept": "application/json; odata=verbose" },
success: successHandler,
error: errorHandler
});
También puede pasar un nombre de carpeta directamente a una colección de carpetas. Ejemplo: …/folders('Folder B'). Vea los ejemplos de solicitudes FolderCollection.
Representación OData
El siguiente ejemplo representa un recurso FolderCollection en formato JSON.
{"d":{
"results":[{
"__metadata":{
"id":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared Documents/Forms')",
"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')",
"type":"SP.Folder"
},
"Files":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/Files"}},
"ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/ListItemAllFields"}},
"ParentFolder":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/ParentFolder"}},
"Properties":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/Properties"}},
"Folders":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/Folders"}},
"ItemCount":0,
"Name":"Forms",
"ServerRelativeUrl":"/Shared Documents/Forms",
"WelcomePage":""
},{
"__metadata":{
"id":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared Documents/folderName')",
"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')",
"type":"SP.Folder"
},
"Files":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/Files"}},
"ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/ListItemAllFields"}},
"ParentFolder":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/ParentFolder"}},
"Properties":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/Properties"}},
"Folders":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/Folders"}},
"ItemCount":4,
"Name":"folderName",
"ServerRelativeUrl":"/Shared Documents/folderName",
"WelcomePage":""
}]}}