javascript - 使用 pyfacebook 显示 xfbml 时出现问题

标签 javascript python google-app-engine facebook pyfacebook

我在我的应用程序上使用 pyfacebook,但在显示 xfbml 时遇到问题 例如,我必须使用 iframe 来显示类似的按钮或类似的框。

奇怪的是: 1)在登录页面上显示正确,我只是在其他页面上遇到问题(登录后)

2)我使用的FB.init部分是

<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script>
<script type="text/javascript">FB.init("{{ apikey }}", '/static/xd_receiver.html');

而 Facebook 文档上的参数是:

FB.init({
  appId  : 'YOUR APP ID',
  status : true, // check login status
  cookie : true, // enable cookies to allow the server to access the session
  xfbml  : true  // parse XFBML
});

3) 当我将 FB.init 更改为官方 fb 时,应用程序不再工作。 (例如我无法使用此注销

<a href="#" onclick="javascript:FB.Connect.logoutAndRedirect('/')">Logout</a>

我对 FB 的东西比较陌生,所以我可能把事情搞混了,但我只想在我的应用程序上显示正确的 fbml,而不需要对服务器端进行太多修改。

最佳答案

我认为你混淆了 Facebook 的 old javascript API与他们的 new javascript API .

正如新 API 页面上提到的,使用它来执行初始化:

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'your app id', status: true, cookie: true,
             xfbml: true});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

对于注销,您需要这样的内容:

<a href="#" onclick="javascript:FB.logout(function(response) {window.location.href = '/';})">Logout</a>

关于javascript - 使用 pyfacebook 显示 xfbml 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3924414/

相关文章:

javascript - Android:调用 JavaScript 函数时出现问题

python - 如何使用Python请求提交带有不可见reCAPTCHA的表单?

android - 构建可以播放实时流媒体服务的 android 应用程序服务器系统的最佳方法是什么?

python - 从 GitLab CI 将应用程序部署到 App Engine 时权限被拒绝

python - 如何在 Python 中应用分段线性拟合?

java - 在大型谷歌应用程序引擎表中选择不同的实体

javascript - 在 JSON 数组上应用多个过滤器时,只有第一个过滤器有效

javascript - typescript :Getter can't return array with custom type

javascript - jQuery - OnClick,在单击时始终更改表格单元格的背景颜色

Python 查找数组中最常见的值