我使用与Facebook文档中提供的完全相同的代码
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo FB_APP_ID; ?>',
xfbml : true,
version : 'v2.6'
});
FB.Event.subscribe('messenger_checkbox', function(e) {
console.log("messenger_checkbox event");
console.log(e);
if (e.event == 'rendered') {
console.log("Plugin was rendered");
} else if (e.event == 'checkbox') {
var checkboxState = e.state;
console.log("Checkbox state: " + checkboxState);
} else if (e.event == 'not_you') {
console.log("User clicked 'not you'");
} else if (e.event == 'hidden') {
console.log("Plugin was hidden");
}
});
function confirmOptIn(unique) {
FB.AppEvents.logEvent('MessengerCheckboxUserConfirmation', null, {
'app_id':'<?php echo FB_APP_ID; ?>',
'page_id':'<?php echo FB_PAGE_ID; ?>',
'user_ref': unique
});
}
<div class="fb-messenger-checkbox" origin="{origin_url}" page_id="<?php echo FB_PAGE_ID; ?>" messenger_app_id="<?php echo FB_APP_ID; ?>" user_ref="<?php echo $unique; ?>" prechecked="true" allow_login="true" size="large"></div>
当我使用我的帐户(应用程序管理员)访问该页面时,我没有渲染插件的问题。当我使用另一个不是广告应用管理员的帐户时,Console.log会给我“插件被隐藏”,因为LoginStatus回答not_authorized。 尽管应用程序已获得授权,但应该阅读文档(应用程序是授权)。有什么我想念的吗?