Facebook Messenger Extension Hiba: 2071010

szavazat
1

Én fejlődő chatbot a messenger platformot használó nodejs telepített Heroku. Én próbálok a felhasználói azonosító a webview. Adtam a messenger bővítmény mező értéke igaz, engedélyezőlistán Saját domain használata legújabb frissített változata Android app, és azért sem, mert most Webview támogatja a böngésző, én is megtekintették a Safari böngésző.

A hírvivő sdk betöltése tökéletesen. Azt a csekket, hogy a böngésző támogatja-e vagy sem, amit kap, mint eredmény-> igaz. Még én szembe probléma kezd a felhasználói azonosítót. Kódom:

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

Megjegyzés: Kerestem a megoldást erre a problémára, de egyik sem működik, ezért vagyok tegye ezt a hibát.

A kérdést 26/08/2017 12:51
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
1

Nos, olvastam a dokumentációt újra. A dokumentáció azt mondják, hogy a webview asztali működik, de jelenleg nem támogatja a néhány kikötéssel, mint getUserIds ().

Találtam két alternatív megoldást jöjjön át a problémát kezd a „psid”, az első egy egyszerű és lehet tudni róla annyi chatbots mint a „2k17 Állásfoglalások” használja azt.

1.Adding a „senderid” a nodejs app paramétert az url a webview majd letöltötte az oldalon is. A „senderid” és „psid” azonos.

  1. Ismerkedés a psid a getContext () funkció meghívásával azt messenger js SDK. A getContext () visszatérési 4 mezőt JSON, amelyek "thread_type", "tid", "psid", "signed_request", ahol psid, amit kerestem. Az alábbiakban a teljes üzemi kódot.

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

És itt a link a téma keretében dokumentáció: https://developers.facebook.com/docs/messenger-platform/webview/context

EDIT: Két nappal vissza a messenger kapott néhány új frissítéseket, ebből az egyik az új frissítés, hogy a web nézet kompatibilis minden böngészővel és ezért most getContext () együttműködik bármely böngészővel.

Válaszolt 26/08/2017 14:19
a forrás felhasználó

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