Découverte dans l’API REST d’Excel Services
Dernière modification : mercredi 14 avril 2010
S’applique à : SharePoint Server 2010
Cette rubrique présente les mécanismes de découverte intégrés dans l’API REST d’Excel Services.
URL de base de découverte et exemple de découverte
La découverte permet aux développeurs et aux utilisateurs de détecter des informations sur le contenu d’un classeur manuellement ou par programmation. Le mécanisme de découverte fournit le flux Atom (éventuellement en anglais) qui contient des informations sur les ressources d’un classeur. À l’aide de la découverte, vous pouvez explorer et afficher les ressources dans le classeur. Les ressources que vous pouvez explorer et auxquelles vous pouvez accéder sont des plages, des graphiques, des tables et des tableaux croisés dynamiques.
Voici la construction de l’URL REST vers un élément spécifique dans un classeur :
http://<ServerName>/_vti_bin/ExcelRest.aspx/<DocumentLibrary>/<FileName>/<ResourceLocation>
Comme décrit dans la rubrique Structure et chemin d’accès de l’URI de base, l’URL REST suivante permet d’accéder à un classeur nommé sampleWorkbook.xlsx et d’afficher en détail le graphique appelé SampleChart :
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart')
Pour démarrer et explorer les ressources dans le classeur et afficher les ressources à l’aide de la découverte, accédez à la page modèle à l’aide d’un URI tel que cet exemple :
http://<ServerName>/_vti_bin/ExcelRest.aspx/<DocumentLibrary>/<FileName>/model
Avec l’exemple « sampleWorkbook.xlsx », l’URI est le suivant :
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model
Voici une capture d’écran de la page modèle :
URL du modèle REST d’Excel Services
L’URL de la page modèle est l’emplacement de démarrage de la découverte. La page modèle affiche les quatre collections de ressources que l’API REST d’Excel Services prend en charge actuellement. Les collections de ressources sont les plages, les graphiques, les tables et les tableaux croisés dynamiques. Vous pouvez explorer ces ressources dans un classeur particulier en cliquant sur Plages, Graphiques, Tables ou Tableaux croisés dynamiques dans la page modèle.
Par exemple, pour accéder au graphique dans le classeur à l’aide de la découverte, procédez comme suit :
Dans la page modèle, cliquez sur Graphiques. Ce lien Graphiques permet d’afficher un autre flux Atom, qui répertorie tous les graphiques disponibles dans le classeur sampleWorkbook.xlsx. Ce classeur contient trois graphiques nommés Chart 1, Chart 3 et SampleChart. Par conséquent, les trois noms de graphique sont listés, comme le montre la capture d’écran suivante.
Liste des graphiques de la découverte REST d’Excel Services
Dans la page modèle, cliquez sur SampleChart. Cela affiche le graphique intitulé SampleChart qui se trouve dans sampleWorkbook.xlsx, comme le montre la capture d’écran suivante.
Affichage du graphique avec REST
De même, en cliquant sur Chart 1 ou Chart 3, le graphique ayant le nom correspondant s’affiche. En cliquant sur SampleChart, vous accédez à l’URL réelle du graphique. Voici l’URL de l’image SampleChart (comme le montre la capture d’écran) :
http://<ServerName>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart%20')?$format=image
Flux Atom
Le flux Atom (éventuellement en anglais) fourni par l’API REST est un moyen plus simple d’obtenir les données qui vous intéressent. Si vous affichez la source de la page Web, vous obtenez le code XML. Vous trouverez ci-dessous un exemple tiré des graphiques de sampleWorkbook.xlsx.
Comme indiqué dans le code XML, le flux contient des éléments traversables qui permettent au code de détecter les éléments existant dans le classeur. Chaque entrée Atom correspond à un graphique accessible. Ce même mécanisme s’applique pour détecter les plages, les tables et les tableaux croisés dynamiques.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:x="https://schemas.microsoft.com/office/2008/07/excelservices/rest" xmlns:d="https://schemas.microsoft.com/ado/2007/08/dataservice" xmlns:m="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<title type="text">Charts</title>
<id>https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts</id>
<updated>2010-01-19T19:32:53Z</updated>
<author>
<name />
</author>
<link rel="self" href="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts?$format=atom" title="Charts" />
<entry>
<category term="ExcelServices.Chart" scheme="https://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<title>Chart 1</title>
<id>https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%201')</id>
<updated>2010-01-19T19:32:53Z</updated>
<author>
<name />
</author>
<link rel="alternate" title="Chart 1" href="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%201')?$format=image" />
<content type="image/png" src="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%201')?$format=image" />
</entry>
<entry>
<category term="ExcelServices.Chart" scheme="https://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<title>Chart 3</title>
<id>https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%203')</id>
<updated>2010-01-19T19:32:53Z</updated>
<author>
<name />
</author>
<link rel="alternate" title="Chart 3" href="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%203')?$format=image" />
<content type="image/png" src="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('Chart%203')?$format=image" />
</entry>
<entry>
<category term="ExcelServices.Chart" scheme="https://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<title>SampleChart </title>
<id>https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart%20')</id>
<updated>2010-01-19T19:32:53Z</updated>
<author>
<name />
</author>
<link rel="alternate" title="SampleChart" href="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart%20')?$format=image" />
<content type="image/png" src="https://ServerName/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/model/Charts('SampleChart%20')?$format=image" />
</entry>
</feed>