启用安全浏览时,FB.UI不显示缩略图

时间:2012-11-01 22:01:38

标签: javascript facebook ssl https facebook-javascript-sdk

我使用FB.UI api允许用户发布到他们的墙上,这是代码:

FB.ui(
  {
    method: 'feed',
    name: name,
    link: linkPath, 
    picture: thumbnailPath,
    caption: iconName,
    description: 'Come check out my my awesome post'
  },
  function(response) {
    if (response && response.post_id) {

      alert('Post was published!');
    } else {
      alert('Post was not published!');
    }
  }
);

通常这样可以正常运行并弹出Facebook对话框,显示从“thumbnailPath”链接的图片,但是当我使用已启用安全浏览的测试帐户时,缩略图不显示以及何时将其发布到墙上不是图片。我正在运行MAMP Pro服务器并使用MAMP的“生成自签名证书”功能创建证书,因此它不是有效证书。我想知道这是否是我的缩略图不会显示的原因。当我转到由变量“thumbnailPath”链接的路径时,它显示就好了。我在Chrome,Safari和Firefox中对此进行了测试,我在所有浏览器中都获得了相同的行为。

我想知道我的无效证书是否可能是导致此问题的原因,或者这是否有意义?我一直无法在网上找到任何描述类似问题的链接,所以我不确定这是否与我的证书有关。

2 个答案:

答案 0 :(得分:1)

如果您没有有效的证书,则FB不能/不会通过https抓取对象,包括图像等元数据。获得真正的证书,然后确保FB可以使用Debugger抓取您的网址。

此外,如果这是一个全新的对象,并且没有在对象上发布任何内容,则FB不知道它存在(并且不会显示缩略图)。您可以使用Debugger或使用GET / curl以编程方式启动先发制人的抓取(请参阅“更新对象”,https://developers.facebook.com/docs/opengraph/objects/)。

在apps.facebook.com(Canvas)上发布应用程序时,您还需要一个有效的安全浏览证书。

如果您只是测试应用程序,那么您可以使用App Dashboard将您的应用程序置于沙盒模式,这将让您,管理员,测试人员和您在角色部分中定义的其他人使用该应用程序带有http的画布(不需要安全浏览)。

答案 1 :(得分:1)

我通过简单地确保始终将缩略图与http地址而不是https地址链接来解决问题,我做了这个,缩略图总是会显示。