Facebook Messenger Erreur d'extension: 2071010

voix
1

Je développe un chatbot pour la plate-forme de messagerie en utilisant nodejs déployées sur Heroku. Je suis en train d'obtenir l'ID utilisateur dans le WebView. J'ai défini le champ d'extension de messager à true, whitelisted mon domaine, en utilisant la version mise à jour la plus récente application Android et aussi depuis WebView maintenant en charge le navigateur Web, je suis dans ce Ègalement navigateur Safari.

Le sdk messager chargement parfaitement. Je le vérifier si le navigateur est pris en charge ou non que je reçois comme result-> vrai. Cependant, je suis problème auquel est confronté obtenir l'ID utilisateur. Mon code est le suivant:

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

NOTE: J'ai cherché la solution à ce problème, mais aucun d'entre eux travaillent, d'où je suis poster cette erreur.

Créé 26/08/2017 à 12:51
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Eh bien, je l'ai lu la documentation une fois de plus. La documentation dit que la WebView pour les travaux de bureau, mais actuellement ne supporte pas certaines mises en garde comme getUserIds ().

J'ai trouvé deux solution de rechange à venir sur le problème d'obtenir le « PSID », le premier est simple et vous pourriez être savoir à ce sujet que beaucoup de chatbots comme « Résolutions 2k17 » utilisent.

1.Adding les « SenderID » dans votre application nodejs comme paramètre à l'url de votre WebView puis aller chercher sur la page elle-même. Les « SenderID » et « PSID » sont les mêmes.

  1. Obtenir le PSID du getContext () en l'appelant de sdk js messager. Le champ retour 4 getContext () dans l'objet JSON, qui sont "thread_type", "tid", "PSID", "signed_request" où PSID est ce que je cherchais. Voici le code de travail complet.

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

Et voici le lien pour la documentation contexte de discussion: https://developers.facebook.com/docs/messenger-platform/webview/context

EDIT: Deux jours de retour le messager a quelques nouvelles mises à jour sur ce qui, l'une des nouvelles mise à jour rendiez le Web compatible avec tous les navigateurs et donc maintenant getContext () fonctionne avec tous les navigateurs.

Créé 26/08/2017 à 14:19
source utilisateur

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