Facebook Messenger Uzatma hatası: 2071010

oy
1

Ben Heroku dağıtılan nodejs kullanarak haberci platformu için bir chatbot geliştiriyorum. Ben Web görünümü kullanıcı kimliği almaya çalışıyorum. Ben true haberci uzantısı alan belirledik, en son güncellenmiş sürümü android uygulamasını kullanarak, alan adımı, beyaz listede ve de artık beri web tarayıcısı, ben de safari tarayıcısında görüntüleyen am desteklemek WebView'ı.

haberci sdk mükemmel yükleniyor. Ben tarayıcı Ben gerçek> olarak result- olsun hangi desteklenen olup olmadığını kontrol edin. Hala kullanıcı kimliği alma sorunuyla karşı karşıya duyuyorum. Benim kodudur:

<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: Ben bu sorun için çözüm arayışına var ancak bunların hiçbiri dolayısıyla bu hatayı sonrası duyuyorum çalışır.

Oluştur 26/08/2017 saat 12:51
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

Eh, ben bir kez daha belgelerini okuyun. dokümantasyon halen masaüstü işler ama için webview) (getUserIds gibi bazı uyarılar desteklemediğini söylüyor.

Ben üzerinden "PSID" alma sorununu belirlemek için iki alternatif çözüm bulundu, ilki basittir ve bu konuda "2k17 Çözünürlükler" bunu kullanıyor gibi birçok chatbots bilerek olabilir.

sayfasının kendisinde bunu getiriliyor ardından Web görünümündeki bir url parametresi olarak nodejs uygulamasındaki "SenderID" 1.Adding ve. "SenderID" ve "psid" aynıdır.

  1. haberci js sdk çağırarak GetContext () den PSID alınıyor. psid nerede "thread_type" dir json nesnesi getContext () 4 return alan, "tid", "psid", "signed_request" Ben aradığımı. Aşağıda tam çalışma kodudur.

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

Ve burada Konu bağlam belgeleri için link: https://developers.facebook.com/docs/messenger-platform/webview/context

DÜZENLEME: İki gün geri haberci yeni güncelleme biri herhangi bir tarayıcı ile çalışıyor) dolayısıyla şimdi tüm tarayıcı ve getContext (ile web görünümü uyumlu hale, hangi dışarı birkaç yeni güncelleştirmeler var.

Cevap 26/08/2017 saat 14:19
kaynak kullanıcı

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