2015-07-10 53 views
4

我正在通过XML REST API发布到LinkedIn。事情XML我送出去是这样的:LinkedIn图片帖子未在预览中显示

<share> 
    <visibility> 
    <code>anyone</code> 
    </visibility> 
    <comment>butah</comment> 
    <content> 
    <submitted-url>http://fully-qualified-url-to/bitly</submitted-url> 
    <submitted-image-url>https://fully-qualified-url-to/image.png</submitted-image-url> 
    </content> 
</share> 

的帖子出现后,该链接的作品,和其他所有领域(另外,如果我补充说明和标题,他们的工作)显示正确,但图片预览不会 - 相反,它是一个空的图像。

我已经尝试了一些方法:

  1. 的mime类型(图像/ PNG)似乎是从卷曲结果正确判断
  2. 我已用不同的TLS和SSL版本
  3. 我试图尝试多个不同的图像

我很茫然 - 还有什么可能是错的?将FQ图像URL复制粘贴到浏览器上的工作也非常出色。有任何想法吗?

需要注意的是,我正在使用公司API。

更新这肯定是一个服务器配置问题,因为我发现一些这样的域可以很好地工作。至少curl建议返回正确的mime类型。还有什么可能导致LinkedIn图像缓存失败?

+0

您是否检查了生成的HTML以查看它认为图像所在的位置? –

+0

的LinkedIn页面链接的HTML到: https://media.licdn.com/media-proxy/ext?w=180&h=110&f=c&hash=TX%2BxBCjLend2RwPzipP8mtImLPo%3D&ora=1%2CaFBCTXdkRmpGL2lvQUFBPQ%2CxAVta5g-0R65hxodyxImrqOEqFuj60ROC4HTDy_kG3n1q4HDfyO4PZbAea34-QxBLXBYwhsyYK32FC20Rsr4ft7xPYIm 打开它显示1x1白色像素图像。 – Muhwu

+0

你可以添加标题和描述,看看是否修复它? –

回答

1

很显然,LinkedIn正在试图将图像放入其CDN(Akamai)中,并且很可能失败了。

我不得不猜测,无论LinkedIn用于检索图像的客户端是否失败。这可能是因为SSL证书未能通过客户端的验证检查,这可能是因为服务器未收到正确的请求标头(accept,accept-encoding,user-agent,即使是cookie,如果它试图阻止机器人或具有访问控制)为图像提供服务,或者可能是因为图像是客户端不支持的格式(我在考虑WebP)。

另外,您可能会对LinkedIn的缓存或重复操作感到困惑。例如,如果您一次向他们发送图像,但无法正确加载但未产生错误情况,LinkedIn可能会认为该图像已加载到其CMS/CDN中,并且在您进行加载时不会再尝试加载它尝试再次添加它。由于几乎所有人都支持向后兼容安全性(这是另一个问题),因此不太可能会谈判可接受的SSL/TLS级别和密码套件。

您是否有权访问映像服务器日志?我试图了解这种情况的下一步就是监视LinkedIn对图像服务器的请求,看看这是怎么回事。