Pregunta

Estoy usando el JS SDK para publicar algo en la línea de tiempo.Mi sitio web está alojado el uso de site44 por lo que tiene una url del tipo http://domainname.site44.com.Este es el código que estoy usando:

<script>        
window.fbAsyncInit = function() {
    FB.init({
      appId      : '{*********}', // APP ID
      channelURL : 'http://domainname.site44.com/channel.html',
      xfbml      : true,
      version    : 'v2.0'
    });
};

(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 = "http://connect.facebook.net/en_US/sdk.js";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

function share(){
    FB.ui({
        method: 'feed',
        name: 'something',
        caption: 'something',
        description: (
            'something'
        ),
        link: 'http://domainname.site44.com',
        picture: 'imageLinkInsertedHere'
    });
}
</script>

En el channel.html archivo tengo este código:

<script src="http://connect.facebook.net/en_US/all.js"></script>

y puedo activar el compartir() función cuando el usuario hace clic en un botón usando javascript onclick="share()".

He probado esto en fbrell y funciona perfectamente.Sin embargo cuando yo lo uso en mi sitio el pop-up da un error diciendo: An error occurred. Please try later.He ido a través de otras preguntas similares sobre el Desbordamiento de Pila y ninguno de ellos ayudó.También tengo el dominio correcto añadido en mi configuración de la APLICACIÓN.¿Qué estoy haciendo mal?

¿Fue útil?

Solución

El appId no debe incluir las llaves {/}.Resto del código parece estar bien.

Pero otra cosa que usted debe saber es que la Alimentación De Diálogo ahora es obsoleto.Ahora deberá utilizar el moderno De Diálogo Compartir en su lugar.Aquí está el ejemplo para el mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top