Facebook xfbml在一个页面上有多个appIds

时间:2011-08-31 15:02:04

标签: javascript facebook facebook-javascript-sdk

我的Facebook应用有问题。 我有两个不同的应用程序,有两个appIds。我想把它们放在一页上。 如果我使用iframe,这没问题。如果我使用以下,嗯。我不知道如何在一个页面中获得2个appIds。 顺便问一下,有人知道如何在同一个按钮中停用评论功能吗?

window.fbAsyncInit = function() {FB.init({
  appId  : 'APP_ID_1',
  status : false, // check login status
  cookie : true, // enable cookies to allow the server to access the session
  xfbml  : true,  // parse XFBML
  oauth : false, //enables OAuth 2.0
});


  FB.Event.subscribe('edge.create', function(targetUrl) {
   _gaq.push(['_trackSocial', 'facebook', 'like', targetUrl]);
});

FB.Event.subscribe('edge.remove',function(targetUrl){        _gaq.push(['_ trackSocial','facebook','不同',targetUrl]);     }); };

  (function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/de_DE/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);

}());

<?php //like button ?>
<fb:like layout="button_count" font="arial" href="http://www.example.com/eeee"></fb:like>

2 个答案:

答案 0 :(得分:1)

出于安全原因,必须将APP ID链接到单个域。请参阅应用程序设置(https://developers.facebook.com/apps)上的“站点URL”字段。您将无法从同一URL上的两个不同APP ID进行身份验证(或执行需要身份验证,对话框等的呼叫)。您可以将两个APP代码组合在一个代码上。为什么需要两个不同的APP ID?

如果您详细说明了您想要实现的功能,我可能会建议您另一种解决方案。

非常感谢

Daniel Torvisco - Facebook开发人员支持工程师

答案 1 :(得分:0)

为什么不使用iframes,只需在两个不同的iframe部分添加您想要的内容(使用JS来控制它们)。布局屏幕时会遇到一些问题,但我确信你的设计师可以使用它。关于那件事,有人告诉过安全问题,那就是胡说八道。您可以根据需要定义任意数量的应用程序,并且在每个应用程序中,您可以拥有任意数量的域。要在不同的域中进行测试,只需使用您在应用程序中定义的相同域配置/etc/hosts文件(Windows上的我知道有hosts文件,但不知道它在哪里)。如果你想使用一些特定的FB API调用,那么你可以找到一些问题,这可能是解决这些OAuth验证和授权必需品的绝招,但对于你问的按钮,应该很容易实现。

希望它有所帮助。最好,