9

Tôi đang cố tạo một Giao diện Web Messenger (https://developers.facebook.com/docs/messenger-platform/messenger-extension) bằng cách sử dụng SDK Javascript của Tiện ích mở rộng Messenger.Tiện ích mở rộng Messenger Javascript Lỗi SDK 2071011

Trang mở bởi Web View có mã JS sau

<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 = "//connect.facebook.com/en_US/messenger.Extensions.js"; 
 
    fjs.parentNode.insertBefore(js, fjs); 
 
}(document, 'script', 'Messenger')); 
 

 
window.extAsyncInit = function() { 
 
    // 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>

Và kết quả là một cảnh báo với thông báo sau "Messenger Extension Lỗi: 2.071.011". Vì vậy, phương thức "getUserID" bị lỗi. Mã lỗi "2071011" có nghĩa là gì? Và làm thế nào để giải quyết nó? Tôi đã tìm kiếm rất nhiều nhưng không có gì được tìm thấy về nó.

Bất kỳ trợ giúp nào thực sự được đánh giá cao !!

PS: hướng dẫn cho biết đưa vào danh sách trắng trang web của URL và tôi cũng đã làm điều đó.

+0

có chính xác cùng một vấn đề nhờ gửi bài cho – younglion

+0

Cùng một vấn đề tìm thấy trong đó, có ai giải quyết nó? Làm ơn giúp tôi. –

+1

Có lẽ tôi đã tìm thấy nó, tôi đã bỏ lỡ "" messenger_extensions ": true", trong nút ... hy vọng nó cũng giúp bạn – dafian

Trả lời

1

Bạn đang cố gắng mở chế độ xem web như thế nào? Tôi đã phải đối mặt với cùng một vấn đề nhưng sau đó tiện ích tin nhắn chỉ hoạt động trên iOS và Android theo documentation. Mã này hoạt động cho tôi trên iOS và ném cùng một lỗi trên ứng dụng messenger trên máy tính để bàn. Tôi hi vọng cái này giúp được.

+0

vẫn gặp lỗi – harpreetSingh

+0

@harpreetSingh: phiên bản ứng dụng Messenger nào bạn đang sử dụng? Có phải là iOS hay Android? Hãy chắc chắn rằng đó là phiên bản mới nhất. Và bạn có thể thử một cảnh báo để kiểm tra xem JS của bạn có tải không. cửa sổ.extAsyncInit = function() { cảnh báo ("" Tiện ích mở rộng Messenger JS SDK được tải xong "); // SDK tiện ích mở rộng của Messenger được thực hiện tải MessengerExtensions.getUserID (thành công hàm (uids) { var psid = uids.psid ; alert (psid); }, lỗi chức năng (err) { cảnh báo ("Lỗi mở rộng Messenger:" + err); }); }; – hudibaba

+0

Tôi thấy rằng lỗi và nhóm facebook hợp lệ của nó đang làm việc trên đó ...... đây là liên kết https://developers.facebook.com/bugs/1676913532599603/ – harpreetSingh

3

tôi thấy nguồn "2.071.011" lỗi giải thích trong messenger.Extensions.js minified:

if (!p) { 
    x(2071011, 'JavaScript bridge does not exist - Please make sure you are in latest ' + 'version of Facebook or Messenger App.'); 
    return; 
} 

p giá trị tương đương với q():

function q() { 
    switch (o) { 
     case h.ANDROID: 
      return window._FBExtensions; 
     case h.IOS: 
      return window.webkit && window.webkit.messageHandlers; 
    } 
    return null; 

}

Có thể lỗi gây ra:

  1. Hãy đảm bảo bạn có phiên bản Ứng dụng Messenger mới nhất (không giải quyết được sự cố trong trường hợp của tôi).
  2. Nó rất có thể là ứng dụng Messenger Android không bao gồm biến window._FBExtensions vào bối cảnh WebView đúng - Tôi có biến này không xác định và messenger.Extensions.js giả định rằng _FBExtensions biến đã tồn tại. Tôi không thể tìm thấy hiện tại workaround cho điều này vì nó là một phần Messenger App.
+0

window._FBExtension ad ding biến này sẽ làm cho nó hoạt động? Tôi đã thử nhưng không làm việc. Giá trị của biến là gì? @temasso –

0
MessengerExtensions.getUserID(function success(uids) { 
      // triggering on devices 
      self.defer.resolve(uids.psid); 
     }, function error(err) { 
      MessengerExtensions.getContext(config.fbApp.id, function success(result) { 
       // triggering on desktop 
       self.defer.resolve(result.psid); 
      }, function error(result) { 
       self.defer.reject(result); 
       console.log('Context Error ', result); 
      }); 
     }); 
Các vấn đề liên quan