{"id":4915,"date":"2020-12-10T11:30:59","date_gmt":"2020-12-10T10:30:59","guid":{"rendered":"http:\/\/gpmfactory.com\/?p=4915"},"modified":"2020-12-10T11:34:05","modified_gmt":"2020-12-10T10:34:05","slug":"ajout-dun-lien-oracle-apex-dans-un-article-facebook","status":"publish","type":"post","link":"https:\/\/gpmfactory.com\/index.php\/2020\/12\/10\/ajout-dun-lien-oracle-apex-dans-un-article-facebook\/","title":{"rendered":"Ajout d&rsquo;un lien Oracle APEX dans un article Facebook"},"content":{"rendered":"\n<p>Lors de la r\u00e9daction d&rsquo;un article Facebook, l&rsquo;ajout d&rsquo;un lien vers une application Oracle APEX peut entrainer l&rsquo;affichage d&rsquo;un raccourci d\u00e9fectueux. Un examen avec le <a href=\"https:\/\/developers.facebook.com\/tools\/debug\">d\u00e9buggeur de Facebook<\/a> indique alors qu&rsquo;il y a trop de redirections et que les <em>metadata <\/em>Open Graph n&rsquo;ont pas pu \u00eatre r\u00e9cup\u00e9r\u00e9es et ont donc \u00e9t\u00e9 fix\u00e9es par d\u00e9faut.<\/p>\n\n\n\n<p>Une solution de contournement consiste \u00e0 cr\u00e9er un proxy dont le r\u00f4le est, soit de fournir les <em>metadata <\/em>attendues par Facebook, soit de rediriger vers l&rsquo;application APEX.<\/p>\n\n\n\n<p>On peut r\u00e9aliser ce proxy sous forme de module REST sous ORDS tel que ci-dessous:<\/p>\n\n\n<pre style=\"padding-left: 40px;\">select 'text\/html', '<br \/>&lt;html&gt;&lt;head&gt;<br \/>&lt;meta property=\"og:locale\" content=\"fr_fr\" \/&gt;<br \/>&lt;meta property=\"og:site_name\" content=\"MySitename\" \/&gt;<br \/>&lt;meta property=\"og:title\" content=\"mytitle\" \/&gt;<br \/>&lt;meta property=\"og:description\" content=\"myDescription\" \/&gt;<br \/>&lt;meta property=\"og:url\" content=\"https:\/\/xx.oraclecloudapps.com\/ords\/r\/APP_APEX\/\" \/&gt;<br \/>&lt;meta property=\"og:image\" content=\"https:\/\/xxx\/icon-256x256.png\" \/&gt;<br \/>&lt;meta property=\"og:type\" content=\"website\" \/&gt;' ||<br \/><strong>decode(substr(:agent,1,19)<\/strong>,<br \/>'facebookexternalhit',<br \/>'',<br \/>'&lt;meta http-equiv=\"refresh\" content=\"0; URL=https:\/\/xx.oraclecloudapps.com\/ords\/r\/APP_APEX\/\" \/&gt;'<br \/>)<br \/>||<br \/>'&lt;\/head&gt;<br \/>&lt;body&gt;<br \/>&lt;\/body&gt;<br \/>&lt;\/html&gt;' <br \/>from dual<\/pre>\n<p>L&rsquo;astuce consiste \u00e0 analyser le user-agent envoy\u00e9 par Facebook qui est:<\/p>\n<p style=\"margin: 0in; font-family: Calibri; font-size: 11pt; padding-left: 40px;\">facebookexternalhit\/1.1 (+http:\/\/www.facebook.com\/externalhit_uatext.php)<\/p>\n<p>Si ce n&rsquo;est pas Facebook, on effectue une redirection vers l&rsquo;application APEX.<\/p>\n<p>Lors de l&rsquo;ajout du lien dans l&rsquo;article FB, on pr\u00e9cisera le <em>endpoint<\/em> de la m\u00e9thode GET qu&rsquo;on vient d\u00e9crire \u00e0 la place de l&rsquo;url de l&rsquo;application APEX.<\/p>\n<p>\u00a0<\/p>","protected":false},"excerpt":{"rendered":"<p>Lors de la r\u00e9daction d&rsquo;un article Facebook, l&rsquo;ajout d&rsquo;un lien vers une application Oracle APEX peut entrainer l&rsquo;affichage d&rsquo;un raccourci d\u00e9fectueux. Un examen avec&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"ppma_author":[150],"class_list":["post-4915","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"authors":[{"term_id":150,"user_id":1,"is_guest":0,"slug":"admin8700","display_name":"Patrick","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/209d5ed69b74d288390621ab4c1d3773?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/4915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/comments?post=4915"}],"version-history":[{"count":2,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/4915\/revisions"}],"predecessor-version":[{"id":4918,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/posts\/4915\/revisions\/4918"}],"wp:attachment":[{"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/media?parent=4915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/categories?post=4915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/tags?post=4915"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/gpmfactory.com\/index.php\/wp-json\/wp\/v2\/ppma_author?post=4915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}