Ajout d’un lien Oracle APEX dans un article Facebook

Lors de la rédaction d’un article Facebook, l’ajout d’un lien vers une application Oracle APEX peut entrainer l’affichage d’un raccourci défectueux. Un examen avec le débuggeur de Facebook indique alors qu’il y a trop de redirections et que les metadata Open Graph n’ont pas pu être récupérées et ont donc été fixées par défaut.

Une solution de contournement consiste à créer un proxy dont le rôle est, soit de fournir les metadata attendues par Facebook, soit de rediriger vers l’application APEX.

On peut réaliser ce proxy sous forme de module REST sous ORDS tel que ci-dessous:

select 'text/html', '
<html><head>
<meta property="og:locale" content="fr_fr" />
<meta property="og:site_name" content="MySitename" />
<meta property="og:title" content="mytitle" />
<meta property="og:description" content="myDescription" />
<meta property="og:url" content="https://xx.oraclecloudapps.com/ords/r/APP_APEX/" />
<meta property="og:image" content="https://xxx/icon-256x256.png" />
<meta property="og:type" content="website" />' ||
decode(substr(:agent,1,19),
'facebookexternalhit',
'',
'<meta http-equiv="refresh" content="0; URL=https://xx.oraclecloudapps.com/ords/r/APP_APEX/" />'
)
||
'</head>
<body>
</body>
</html>'
from dual

L’astuce consiste à analyser le user-agent envoyé par Facebook qui est:

facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

Si ce n’est pas Facebook, on effectue une redirection vers l’application APEX.

Lors de l’ajout du lien dans l’article FB, on précisera le endpoint de la méthode GET qu’on vient décrire à la place de l’url de l’application APEX.

 

About the author

GPM Factory