2017-04-24 93 views
1

工作不白名單我的域名後,我嘗試訪問信使擴展來獲得用戶ID,它失敗,出現錯誤:Messenger的延伸中的WebView

Messenger的擴展沒有啓用 - 可能是「messenger_extensions」 未設置上一個URL,域名是未列入白名單或者這是Messenger客戶端

的 過時的版本我試圖對谷歌Chrome和Firefox同樣的錯誤出現的使者。 messenger_extensions被設置爲true並且域被列入白名單;我確認過了。

爲什麼它帶來這個信息?

+0

你可以在終端上運行'curl -X GET「https://graph.facebook.com/v2.6/me/messenger_profile?fields=whitelisted_domains&access_token=$ACCESS_TOKEN」'以確認你的域名已被列入白名單?它給了什麼迴應? – Stretch0

+0

我做到了;它正在使用手機 – aidonsnous

回答

1

你想通過瀏覽器訪問它嗎?如果是這樣,可能是你爲什麼有問題。

嘗試通過手機上的Messenger應用程序訪問網址。這將iFrame在網頁中,您將有權訪問MessengerExtensions sdk。

不知道你應該怎麼能夠登錄信使。我做了這樣的事情來測試它

window.extAsyncInit = function() { 
// the Messenger Extensions JS SDK is done loading 
    MessengerExtensions.getUserID(function success(uids) { 
     // User ID was successfully obtained. 
     var psid = uids.psid; 
     console.log("psid", psid) 
      $('.error').html(psid) 

    }, function error(err, errorMessage) {  
     // Error handling code 
     console.log(err, errorMessage) 
     $('.error').html(errorMessage) 
    });  
}; 
+0

在手機中一切正常,但不是在計算機瀏覽器上。 Facebook如何期待使用webview的機器人的瀏覽器用戶使用機器人?有什麼解決方法嗎? – aidonsnous

+0

我不相信你應該這樣做。例如,通過messenger應用程序進行瀏覽會假設用戶已授予配置文件信息的權限 - https://developers.facebook.com/docs/messenger-platform/user-profile – Stretch0

0

您應該添加image_url的消息。此字段不是必需的,但如果您不包含此字段,共享郵件將只能在移動環境中使用。

例子:

var messageToShare = { 
    attachment: { 
     type: "template", 
     payload: { 
      template_type: "generic", 
      elements: [{ 
       title: "Title", 
       image_url: "https://image.flaticon.com/teams/slug/freepik.jpg", 
       subtitle: 'A shared list from Tasks', 
       default_action: { 
        type: "web_url", 
        url: "your_url", 
        messenger_extensions: true, 
        webview_height_ratio: "full", 
        fallback_url: "fallback_url" 
       }, 
       buttons: [{ 
        type: "web_url", 
        title: "title", 
        url: "your_url", 
        messenger_extensions: true, 
        webview_height_ratio: 'full', 
        fallback_url: "fallback_url" 
       }] 
      }] 
     } 
    } 
}; 

此外,與messenger_extensions: true你需要添加fallback_url: "<your_fallback_url_here>",使其工作。