Error Facebook Messenger Extensión: 2071010

votos
1

Estoy desarrollando un conversacional para la plataforma de mensajería utilizando nodejs desplegados en heroku. Estoy tratando de obtener el ID de usuario en la vista web. He puesto el campo de extensión mensajero en true, la lista blanca de mi dominio, utilizando la versión más reciente actualización de aplicaciones para Android y también desde ahora WEBVIEW apoyar el navegador web, también estoy viendo en el navegador Safari.

El SDK mensajero está cargando perfectamente. Yo la comprobación de si el navegador es compatible o no, que me sale como result-> cierto. Todavía estoy enfrentando problemas para obtener el identificador de usuario. Mi código es:

<script>
        (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 = https://connect.facebook.com/en_US/messenger.Extensions.js;
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'Messenger'));

        window.extAsyncInit = function () {
            var isSupported = MessengerExtensions.isInExtension(); 
            alert(isSupported);
            // the Messenger Extensions JS SDK is done loading
            MessengerExtensions.getUserID(function success(uids) {
                var psid = uids.psid;
                alert(psid);
            }, function error(err) {
                alert(Messenger Extension Error:  + err);
            });
        };
    </script>

NOTA: He buscado la solución para este problema, pero ninguno de ellos trabajan, por lo tanto, yo soy publicar este error.

Publicado el 26/08/2017 a las 09:51
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

Bueno, he leído la documentación una vez más. La documentación dice que la vista web para trabajos de escritorio, pero actualmente no es compatible con algunas salvedades como getUserIds ().

He encontrado dos solución alternativa a venir más el problema de conseguir la "psid", la primera es simple y es posible que se sabe sobre él tantas chatbots como "Resoluciones 2k17" lo están utilizando.

1.Adding los "senderid" en su aplicación nodejs como parámetro a la URL de su vista web y luego ir a buscar en la propia página. Los "senderid" y "psid" son los mismos.

  1. Conseguir el psid del getContext () llamando desde SDK mensajero js. El campo getContext () devuelven 4 en objeto JSON, que son "La hebra", "tres veces al día", "psid", "signed_request" donde psid es lo que estaba buscando. A continuación se muestra el código completo de trabajo.

    <script>
        (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 = "https://connect.facebook.com/en_US/messenger.Extensions.js";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'Messenger'));
        window.extAsyncInit = function () {
            var isSupported = MessengerExtensions.isInExtension(); 
            alert(isSupported);
            // the Messenger Extensions JS SDK is done loading
            MessengerExtensions.getContext('YOU_APP_ID', 
              function success(result){
                alert("Success: "+result.psid);
              },
              function error(result){
                alert(JSON.stringify(result));
              }
            );
        };
    </script>
    

Y aquí está el enlace para la documentación contexto Tema: https://developers.facebook.com/docs/messenger-platform/webview/context

EDIT: Dos días atrás el mensajero tiene algunas nuevas actualizaciones de los cuales, uno de la nueva actualización de hacer la vista web compatible con todos los navegadores y por lo tanto ahora getContext () trabaja con cualquier navegador.

Respondida el 26/08/2017 a las 11:19
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more