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

Explorar los archivos del servicio REST y la sintaxis de carpetas

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

Devuelta con recurso

Descripción

Author

SP.User

L

No

Obtiene un valor que especifica el usuario que agregó el archivo.

CheckedOutByUser

SP.User

L

No

Obtiene un valor que devuelve el usuario que desprotegió el archivo.

CheckInComment

String

L

Obtiene un valor que devuelve el comentario usado cuando se protege un documento en una biblioteca de documentos.

CheckOutType

Int32

L

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

Devuelve la versión interna del contenido, que se usa para validar la igualdad de documentos con propósitos de lectura.

CustomizedPageStatus

Int32

L

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

Obtiene un valor que especifica el valor de ETag.

Exists

Boolean

L

Obtiene un valor que especifica si existe el archivo.

Length

Int64

L

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

Obtiene un valor que especifica el nivel de publicación del archivo. Representa un valor SP.FileLevel: Published = 1; Draft = 2; Checkout = 255.

ListItemAllFields

SP.ListItem

L

No

Obtiene un valor que especifica los valores de campo de elemento de lista para el elemento de lista correspondiente al archivo.

LockedByUser

SP.User

L

No

Obtiene un valor que devuelve el usuario propietario del bloqueo actual en el archivo.

MajorVersion

Int32

L

Obtiene un valor que especifica la versión principal del archivo.

MinorVersion

Int32

L

Obtiene un valor que especifica la versión secundaria del archivo.

ModifiedBy

SP.User

L

No

Obtiene un valor que devuelve el usuario que modificó el archivo por última vez.

Name

String

L

Obtiene el nombre del archivo que incluye la extensión.

ServerRelativeUrl

String

L

Obtiene la dirección URL relativa del archivo en función de la dirección URL del servidor.

TimeCreated

DateTime

L

Obtiene un valor que especifica cuándo se creó el archivo.

TimeLastModified

DateTime

L

Obtiene un valor que especifica cuándo se modificó por última vez el archivo.

Title

String

L

Obtiene un valor que especifica el nombre para mostrar del archivo.

UiVersion

Int32

L

Obtiene un valor que especifica el identificador de versión específico de la implementación del archivo.

UiVersionLabel

String

L

Obtiene un valor que especifica el identificador de versión específico de la implementación del archivo.

Versions

SP.FileVersionCollection

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

comment

Tipo: String
El comentario para la aprobación.

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

uploadID

Tipo: GUID
El identificador único de la sesión de carga.

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

comment

Tipo: String
Un comentario para la protección. Su longitud debe ser <= 1023.

checkInType

Tipo: Int32
El SP.CheckinType para el archivo: minorCheckIn = 0; majorCheckIn = 1; OverwriteCheckIn = 2.

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

uploadID

Tipo: GUID
El identificador único de la sesión de carga.

fileOffset

Tipo: Int64
El tamaño de desplazamiento en el archivo donde comienza el fragmento.

Enviar el contenido del archivo (secuencia) en el cuerpo de envío.

HTTP method

POST

Response

Tipo: Int64
El tamaño de los datos cargados totales en bytes.

  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

strNewUrl

Tipo: String
La URL absoluta o URL relativa al servidor de la ruta de acceso del archivo de destino que se va a copiar.

bOverWrite

Tipo: Boolean
true para sobrescribir un archivo con el mismo nombre en la misma ubicación; de lo contrario, false.

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

comment

Tipo: String
El comentario para la denegación.

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

uploadID

Tipo: GUID
El identificador único de la sesión de carga.

fileOffset

Tipo: Int64
El tamaño de desplazamiento en el archivo donde comienza el fragmento.

Enviar el contenido del archivo (secuencia) en el cuerpo de envío.

HTTP method

POST

Response

Tipo: SP.File
El archivo que se acaba de cargar.

  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

scope

Tipo: Int32
La vista SP.WebParts.PersonalizationScope en la Página de elementos web. User = 0; Shared = 1.

HTTP method

GET

Respuesta

Tipo: SP.WebParts.LimitedWebPartManager
El conjunto de controles asociados que se usa para acceder, modificar o agregar elementos web.

  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

newUrl

Tipo: String
La URL absoluta o URL relativa al servidor de la ruta de acceso del archivo de destino que se va a mover.

flags

Tipo: Int32
El valor de SP.MoveOperations de bit a bit para mover el archivo. Overwrite = 1; AllowBrokenThickets (mover incluso si los archivos auxiliares están separados del archivo) = 8.

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
La secuencia de archivo especificada.

  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

comment

Tipo: String
El comentario para el archivo publicado. Su longitud debe ser <= 1023.

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
El GUID del archivo reciclado.

  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

uploadID

Tipo: GUID
El identificador único de la sesión de carga.

Enviar el contenido del archivo (secuencia) en el cuerpo de envío.

HTTP method

POST

Response

Tipo: Int64
El tamaño de los datos cargados en bytes.

  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

comment

Tipo: String
El comentario de la operación para cancelar la publicación. Su longitud debe ser <= 1023.

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

Add
AddTemplateFile
GetByUrl

Método Add

Extremo

/add(content, overwrite, url)

Parámetros

content

Tipo: Stream
El contenido del archivo. Pase el parámetro content en el cuerpo de la solicitud. El tamaño máximo de un archivo binario que se puede agregar mediante la API de REST es 2 GB.

overwrite

Tipo: Boolean
true para sobrescribir el archivo si ya existe; de lo contrario, false.

url

Tipo: String
La URL relativa a la carpeta del archivo.

HTTP method

POST

Respuesta

Tipo: SP.File
El nuevo archivo.

  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

urlOfFile

Tipo: String
La URL relativa al servidor donde se guardará el archivo.

templateFileType

Tipo: Int32
El SP.TemplateFileType que se va a usar para crear el archivo: StandardPage = 0; WikiPage = 1; FormPage = 2.

HTTP method

POST

Respuesta

Tipo: SP.File
El archivo de plantilla que se agregó.

  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
El archivo en la URL especificada.

  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

Devuelta con recurso

Descripción

CheckInComment

String

L

Obtiene un valor que especifica el comentario de protección.

Created

DateTime

L

Obtiene un valor que especifica la fecha y hora de creación de la versión de archivo.

CreatedBy

SP.User

L

No

Obtiene un valor que especifica el usuario que representa al creador de la versión de archivo.

Identificador

Int32

L

Obtiene el identificador interno de la versión de archivo.

IsCurrentVersion

Boolean

L

Obtiene un valor que especifica si la versión de archivo es la versión actual.

Size

Int32

L

Url

String

L

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

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

DeleteObject

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

vid

Tipo: Int32
El identificador de la versión de archivo que se va a eliminar.

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

versionlabel

Tipo: String
La propiedad SP.FileVersion.VersionLabel de la versión de archivo que se va a eliminar.

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

versionid

Tipo: Int32
El identificador de la versión de archivo que se va a obtener.

HTTP method

GET

Respuesta

Tipo: SP.FileVersion
La versión de archivo especificada.

  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

versionlabel

Tipo: String
La propiedad SP.FileVersion.VersionLabel de la versión de archivo que se va a restaurar.

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

Devuelta con recurso

Descripción

ContentTypeOrder

Collection(SP.ContentTypeId)

L

Especifica la secuencia en la que se muestran los tipos de contenido.

Files

SP.FileCollection

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

SP.FolderCollection

L

No

Obtiene la colección de carpetas de lista incluidas en la carpeta de lista.

ItemCount

Int32

L

Obtiene un valor que especifica el recuento de elementos en la carpeta de lista.

ListItemAllFields

SP.ListItem

L

No

Especifica los valores de los campos (2) de elementos de lista para el elemento de lista correspondiente al archivo.

Name

String

L

Obtiene el nombre de la carpeta.

ParentFolder

SP.Folder

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

Obtiene la dirección URL relativa al servidor de la carpeta de lista.

UniqueContentTypeOrder

Collection(SP.ContentTypeId)

LE

Obtiene o establece un valor que especifica el orden del tipo de contenido.

WelcomePage

String

LE

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

DeleteObject
Recycle

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
El identificador de la operación de reciclaje.

  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

Add
GetByUrl

Método Add

Agrega la carpeta ubicada en la dirección URL especificada a la colección.

Extremo

/add(url)

Parámetros

url

Tipo: String
La ruta de acceso donde quiere agregar la carpeta (incluido el nombre de la nueva carpeta) como una dirección URL completa, dirección URL relativa al servidor o dirección URL relativa al sitio.

HTTP method

POST

Respuesta

Tipo: SP.Folder
La carpeta recientemente agregada.

  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
La URL relativa al servidor de la carpeta.

HTTP method

GET

Respuesta

Tipo: SP.Folder
La carpeta especificada.

  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":""
      }]}}

Recursos adicionales