javascript - Facebook iFrame JavaScript SDK - 不带 OAuth

标签 javascript facebook facebook-javascript-sdk

我正在尝试在网站上显示 iFrame 模式对话框,以便用户可以在 Facebook 墙上发布内容。

我不断收到可怕的 102 错误: session key 无效或不再有效...必须使用 session key 调用 Iframe 对话框

我发现了各种questions and answers对于同样的问题,但解决方案都涉及获取用户的访问 key 或使用服务器端 SDK。

我不需要验证用户身份或访问他们的任何信息。我正在使用 JavaScript SDK(没有服务器端)。

我只想打开模式并让他们发布。这只是一个网站,而不是应用程序。

是否可以修改我的代码以允许通过 iFrame 进行发布,而无需在我的网站上对用户进行身份验证、请求用户权限或调用服务器端的任何内容?

$('#button').on('click', function() {

  FB.init({
    appId: '12345',
    status: true,
    cookie: true,
    xfbml: false
  });

  FB.ui({
    method: 'feed',
    name: 'Post Name',
    link: 'http://www.foosite.com',
    picture: 'http://foosite.com/img/img.jpg',
    caption: 'Caption for Picture',
    description: 'Description for Post',
    display: 'iframe'
  },
    function(response) {
      if (response && response.post_id) {
        console.log('Post was published');
      } else {
        console.log('Post was not published');
    }
  );
});

最佳答案

Facebook 不允许使用 iframe 进行对话,除非用户已经授权该应用程序。这是为了降低点击劫持的风险。

一般情况下不需要指定显示参数,JS SDK会根据应用是否授权来选择最合适的显示参数。

关于javascript - Facebook iFrame JavaScript SDK - 不带 OAuth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20811124/

相关文章:

javascript - 将静态文本附加到 ejs 中数据的第一个索引

javascript - window.onresize : firing a function during, 以及调整大小完成时

javascript - Facebook Javascript-SDK 检查用户是否喜欢某个页面的方法

javascript - 无需连接到 Facebook 即可获取访问 token

javascript - smartGWT 错误

javascript - 输入焦点不起作用/无法选择单选按钮 - Bootstrap

android - 如何允许用户使用 SDCard 文件夹在墙上张贴图像

ruby-on-rails - 没有任何 gem 的 Facebook Graph API 调用

javascript - Fb.api 仅在登录时发布到用户墙上

javascript - Facebook Comments.Create 回调中的 ID 值