Bonjour,
peut ête que la question que je vais poser certains le trouveront un peu bizarre, j'ai un problème avec feed dialog de facebook, j'ai l'erreur suivante ;
Une erreur s’est produite. Veuillez réessayer plus tard.

API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.

qui me mamène depuis le matin, voici mon code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
                    <script type="text/javascript">
                      $(document).ready(function(){
                      $('#share_button<?php echo $i;?>').click(function(e){
                      e.preventDefault();
                      FB.ui(
                      {
                      method: 'feed',
                      redirect_uri:'http://www.aeros.com/test/',
                      name: 'This is the content of the "name" field.',
                      link: ' <?php echo router::fullbaseUrl(). $this->Html->url($s["link"]);?>',

                      description: '<?php echo $s["titre"];?>',
                      message: ''
                      });
                      });
                      });
 </script>

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '6782************',
      xfbml      : true,
      version    : 'v2.5'
    });
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

ma question est la suivante j'ai mal renseigné redirect_uri? si oui comment je dois le faire , l'url spécifier dans mon app facebook est http://www.aeros.com/test/
j'ai besoin d'une explication j'ai lu la doc je ne sais plus comment doit être cette url,merci

11 réponses


Bonsoir.
Pour commencer, si l'url que tu donnes est celle de ton application web en ligne, elle mène vers une erreur 404, ce ne serait donc pas étonnant.
Ensuite, c'est quoi ça : <?php echo router::fullbaseUrl(). $this->Html->url($s["link"]); ?> ?
Il te faut faire :

$this->Html->url($link, true);

pour que la méthode url du helper Html génère l'url en absolue.

wenz
Auteur

Merci pour ta réponse, excusez moi je me suis trompé dans l'url de l'app c'est plutot http://www.allchapels.com/egli.
j'ai utilisé router::fullbaseUrl parce que mon $link est du comme ça array('controller'=>'Users','action'=>'events','id'=>'id','slug'=>'slug'), si je le fais comme tu le dis j'ai l'erreur suivante :Notice (8): Array to string conversion [CORE\Cake\View\Helper\HtmlHelper.php, line 373]

Merci pour ta réponse, excusez moi je me suis trompé dans l'url

Ton application est en ligne ?
Car la nouvelle url que tu donnes, retourne une erreur 500.

En général on passe toujours un tableau pour définir l'url, que ce soit avec la méthode link ou url, je ne vois donc pas pourquoi ça changerait quelque chose pour toi, vu que ton url est sous forme de tableau.
Et si je t'ai donné cette syntaxe, c'est qu'elle correspond à celle de la documentation, donc si tu as une erreur, c'est que tu as mal transcrit la syntaxe.

wenz
Auteur

tu as raison lartak j'avais mal transcrit url c'est corrigé, mais j'ai toujours l'erreur de facebbok, oui l'application est en ligne http://www.allchapels.com/eglie

Ok.
Par contre sur quelle page se trouve ton système pour Facebook ?
Car tu donnes le lien de la page d'accueil du site, mais il n'y a pas le script que tu évoques dans le contenu de ton sujet, sur la page d'accueil du site.
Au passage, c'est quoi toutes ces erreurs en console ?

Tu spécifies un redirect_uri pour http://www.aeros.com/test/ alors que le nom de domaine dans lequel est ton site est : allchapels.com.
Tu ne crois pas qu'il y a déja un problème avec ça ?
Ensuite, l'erreur qui t'es retournée par le SDK de Facebook est :

L’URL fournie n’est pas autorisée par la configuration de l’application.: Une ou plusieurs URL fournies ne sont pas autorisées par les paramètres de l’application. Elle(s) doi(ven)t correspondre à l’URL du site ou du Canevas, ou le domaine doit être un sous-domaine de l’un des domaines de l’application.

Je pense que c'est suffisamment explicite.

wenz
Auteur

lartak merci pour tes réponses, mais il y a truc que je ne comprends pas ou c'est moi qui saisi mal, redirect_uri correspond au url du site web que j'ai saisi au niveau de facebook c'est à dire http://www.allchapels.com/eglie ? ou url de la page que je voudrais partage? je ne comprends plus rien du tout

Alors, redirect_uri, c'est l'url de redirection, que ce soit dans le cas ou l'utilisateur termine ou annule la requête demandée à Facebook.
Mais il faut qu'elle soit du même domaine que l'url référente.
Donc si par exemple lorsque l'utilisateur clique sur ton bouton de partage il est à l'adresse http://allchapels.com/eglie/15-feu-divine-du-tout-puissant.html, même si l'url de redirection n'est pas cette page, il faut au moins qu'elle soit du même domaine, ou bien d'un sous-domaine de ce domaine.
Donc l'url http://www.aeros.com/test/, n'est pas correcte étant donné qu'il ne s'agit ni du domaine allchapels.comni d'un de ses sous-domaine *.allchapels.com.

wenz
Auteur

ok la raison pour laquelle je t'ai posé c'est que j'ai même remplacé redirect_uri par http://allchapels.com/eglie/ mais j'ai toujours la même erreur .

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
                    <script type="text/javascript">
                      $(document).ready(function(){
                      $('#share_button<?php echo $i;?>').click(function(e){
                      e.preventDefault();
                      FB.ui(
                      {
                      method: 'feed',
                      redirect_uri:'http://allchapels.com/eglie/',
                      name: 'This is the content of the "name" field.',
                      link: '<?php echo $this->Html->url($link,true);?>',

                      description: '<?php echo $s["titre"];?>',
                      message: ''
                      });
                      });
                      });
 </script>

ou ça prend du temps pour être actualiser?

wenz
Auteur

Bonjour, ça marche merci, mais j'ai des problèmes au niveau de la gestion des meta og, sur ma page http://allchapels.com/eglie/15-feu-divine-du-tout-puissant.html je peux avoir plusieurs publications qui peuvent être partagées , comment passer dynamiquement les valeurs des meta correspondant à chaque publication au meta og present dans la page default?