获取PSID:Angular2和Facebook Messenger扩展

时间:2017-11-10 23:17:37

标签: facebook angular typescript facebook-messenger facebook-messenger-bot

自从我开始努力解决这个问题以来已经过了一周。

我想为Facebook机器人创建一个webview,我想要的就是获得用户的psid。一切顺利用普通的javascript:我可以使用window.extAsyncInit()并等待Facebook初始化......但是如果我使用Angular2,我该怎么办?

我尝试将其添加到@Component:

host: {
    '(window:extAsyncInit)': 'this.facebookinit($event)'
  }

我试图模仿Scroll侦听器在组件中使用它的行为:

@HostListener('window:extAsyncInit', ['$event']) onFbEvent($event){
    console.log("called");
  } 

我尝试了在stackoverflow中找到的所有可能组合......但我仍然被阻止了。 目前我只是为了响应某些点击事件而解决了调用MessengerExtensions的问题,但是现在我真的需要它在webview出现时可用,并且我必须避免未定义问题的唯一方法是使用extAsyncInit。

你能帮帮我吗?

更新 我也尝试使用Renderer2监听并将facebook javascript代码复制到资产文件夹中,并在导入列表下声明MessengerExtension。但仍然没有结果!

1 个答案:

答案 0 :(得分:0)

ngx-facebook给您:) https://github.com/zyra/ngx-facebook

但是,我不知道它是否与最新的Angular兼容。