deblan.io-gemini/blog/posts/570.gmi
2021-04-09 15:40:55 +02:00

42 lines
1.6 KiB
Plaintext

# API pour récupérer le contenu Open Graph d'une page web
* 2019-06-26 17:01:25
* Développement
```html
<p>Pour la fonctionnalité de partage de liens sur ce blog, j'ai développé
un script qui récupére le contenu d'une page et analyse ses balises <code>&lt;meta&gt;</code>
pour identifier ses données <a href="http://ogp.me/">Open Graph</a>.</p>
```
```html
<p>Dans un autre contexte, j'ai rencontré un bug dans <a href="https://wallabag.org/">Wallabag</a>
qui l'empêche de récupérer le contenu de plusieurs pages web que je désirait lire plus tard.
Avec la volonté de créer un rapport de bug, la documentation m'a amené sur la piste du projet <a href="https://github.com/j0k3r/graby">Graby</a>
utilisé par Wallabag.</p>
```
```html
<p>Pour comprendre et peut-être proposer un correctif, j'ai joué avec Graby et
ça m'a amené à réaliser une API pour remplacer le script utilisé par le blog,
en combinent Graby et <a href="https://github.com/fusonic/opengraph"><code>fusonic/opengraph</code></a>.
L'objectif de l'API est donc de retourner des données générées par Graby et OpenGraph au format JSON.</p>
```
```html
<p>Voici à quoi ressemble un retour d'appel à l'API avec les données Open Graph :</p>
```
```html
<div id="gist-5d1387f5390e4-e9073e91ca04c978a50b558c0beaad54e40ec581" class="gist-container"></div>
```
```html
<script src="https://gist.deblan.org/fr/embedjs/5d1387f5390e4" async></script>
```
```html
<p><a href="https://gitnet.fr/deblan/apipage">Le projet</a> est dépendant de PHP 7.3 et c'est libre.
Le <a href="https://gitnet.fr/deblan/apipage">code source est dispo ici</a>.</p>
```