Errore Facebook Messenger Estensione: 2071010

voti
1

Sto sviluppando un chatbot per la piattaforma Messenger utilizzando nodejs distribuiti su Heroku. Sto cercando di ottenere l'id utente nella WebView. Ho impostato il campo estensione messaggero per vero, whitelist mio dominio, utilizzando la versione più recente aggiornata app Android e anche perché ora WebView sostenere il browser web, sono anche la visualizzazione nel browser Safari.

L'SDK messaggero sta caricando perfettamente. Ho l'assegno se il browser è supportato o meno che ricevo come result-> vero. Ancora sto affrontando problemi a trovare l'ID utente. Il mio codice è:

<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: Ho cercato la soluzione per questo problema, ma nessuno di loro lavorare, quindi io sono postare questo errore.

È pubblicato 26/08/2017 alle 12:51
fonte dall'utente
In altre lingue...                            


1 risposte

voti
1

Beh, ho letto ancora una volta la documentazione. La documentazione dice che il WebView per lavori di desktop Ma presto non supporta alcuni avvertimenti come getUserIds ().

Ho trovato due soluzione alternativa a più di venire il problema di ottenere il "PSID", il primo è semplice e si potrebbe essere sapere su di esso come molti chatbots come "Risoluzioni 2k17" lo si utilizza.

1.Adding i "SenderID" nella vostra applicazione nodejs come parametro l'url del vostro WebView e poi recupero sulla pagina stessa. I "SenderID" e "PSID" sono gli stessi.

  1. Ottenere il psid dal getContext () chiamando da messaggero js SDK. Il getContext () ritorno 4 campo in oggetto JSON, che sono "thread_type", "tid", "PSID", "signed_request", dove PSID è quello che stava cercando. Di seguito è riportato il codice di lavoro completo.

    <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>
    

Ed ecco il link per la Discussione documentazione contesto: https://developers.facebook.com/docs/messenger-platform/webview/context

EDIT: Due giorni fa il messaggero ottenuto alcuni nuovi aggiornamenti di cui, uno dei nuovo aggiornamento rende la visualizzazione Web compatibile con tutti i browser e quindi ora getContext () sta lavorando con qualsiasi browser.

Risposto il 26/08/2017 a 14:19
fonte dall'utente

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