Eroare Facebook Messenger Extensie: 2071010

voturi
1

Sunt în curs de dezvoltare un chatbot pentru platforma messenger folosind nodejs dislocate pe Heroku. Sunt încercarea de a obține ID-ul utilizatorului în WebView. Am stabilit câmpul de extensie mesager la true, lista albă domeniul meu, folosind versiunea cea mai recentă actualizare a aplicației Android și, de asemenea, deoarece acum WebView sprijini browser-ul web, eu sunt de asemenea, vizualizarea în browser-ul Safari.

SDK-ul mesager se încarcă perfect. Am cecul dacă browser-ul este acceptat sau nu, care primesc ca pe rezultate> adevărat. Încă mă confrunt cu problema obtinerea ID-ul utilizatorului. Codul meu este:

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

NOTĂ: Am căutat soluția pentru această problemă, dar nici unul dintre ele nu funcționează, deci eu sunt posta această eroare.

Întrebat 26/08/2017 la 12:51
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
1

Ei bine, am citit documentația încă o dată. Documentația spune că WebView pentru lucrările desktop dar în prezent în nu acceptă unele rezerve ca getUserIds ().

Am găsit două soluții alternative pentru a veni peste problema de a obține „psid“, primul este simplu și s-ar putea să știe despre ea cât mai multe chatbots, cum ar fi „Rezoluțiile 2k17“ utilizează.

1.Adding de „senderid“ în aplicația nodejs ca parametru la adresa URL a WebView și apoi aducere pe pagina în sine. "The senderid" și "psid" sunt aceleași.

  1. Obținerea psid din getContext () prin numindu-l de la sdk messenger js. getContext () retur 4 câmpul din obiect JSON, care sunt „firul de execuție“, „TID“, „psid“, „signed_request“, unde psid este ceea ce am fost căutat. Mai jos este codul complet de lucru.

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

Și aici este link - ul pentru documentare context Subiect: https://developers.facebook.com/docs/messenger-platform/webview/context

EDIT: Două zile înapoi mesagerul primit câteva actualizări noi, dintre care, unul dintre noua actualizare a face vizualizarea de web compatibil cu toate browser-ul și, prin urmare, acum getContext () este de lucru cu orice browser.

Publicat 26/08/2017 la 14:19
sursa de către utilizator

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