无法在Firefox上使用Facebook js sdk v2.10获取用户

时间:2017-09-06 03:24:53

标签: facebook facebook-graph-api facebook-javascript-sdk polymer-2.x

我正在尝试使用Facebook Javascript SDK v2.10 在我们的网站上添加facebook身份验证。我的目标是通过Facebook登录,然后获取经过身份验证的用户。 我面临的问题是,在 Firefox 上,我无法获取经过身份验证的用户。

我创建了一个测试页NodeMCU's schematic

当您点击按钮'通过Facebook登录'时,会调用FB.login功能。收到回复后,我正在调用FB.api函数。以下是我的代码

FB.login(function(response) {
              let p1 = document.createElement('p');
              p1.innerHTML = "FB.login response follows:<br>"+ JSON.stringify(response);
              document.body.appendChild(p1)
              FB.api('/me', {fields: 'id,first_name'},
                  function(response) {
                      let p2 = document.createElement('p');
                      p2.innerHTML = "FB.api response follows:<br>"+ JSON.stringify(response);
                      document.body.appendChild(p2)
                  });
          });

在Chrome中,调用FB.api的回调并收到回复,但在Firefox中,这种情况并未发生。请帮我弄清楚为什么会发生这种情况

1 个答案:

答案 0 :(得分:0)

确定。我在Polymer应用程序中使用Facebook sdk。 sdk文档建议在index.html中添加sdk初始化代码。

但是,对于Polymer,您需要在根应用的connectedCallback方法中添加代码(my-app.html如果您使用的是polymer-starter-kit

由于未知的原因,如果在index.html中添加了sdk代码,则webcomponent-loader.js会阻止Facebook在Firefox上初始化。