1

我正在使用 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 中对此进行了测试,并且在所有浏览器中都得到了相同的行为。

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

4

2 回答 2

1

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

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

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

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

于 2012-11-02T18:16:37.933 回答
1

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

于 2013-02-25T17:17:55.763 回答