我有一个带有Open Graph image标记的页面:
<meta property="og:image" content="http://childhumor2.homeip.net:9009/_ah/img/RYCF7Ty7wODp9R-N_QIWYA===s200"/>
图像是一个GAE blob,URL来自调用get_serving_url
。URL正常工作。在
现在,如果有人喜欢这个页面,那么显示在新闻源中的缩略图图像将被破坏。只有一个空白的1x1图像返回到浏览器。在
检查FB页面,生成的HTML是:
^{pr2}$当第一次查看喜欢的用户的新闻提要时,我看到FB点击了我的服务器上的图片:
INFO 2010-11-14 21:33:17,701 dev_appserver.py:3283] "GET /_ah/img/RYCF7Ty7wODp9R-N_QIWYA%3D%3D%3Ds200 HTTP/1.1" 500 -
很明显,在URL中有一个等号的URL编码问题,但我不知道是谁的错。在
{正确地检索图片}使图片更加混乱。此外,如果在页面上进行FB共享,缩略图预览将正确显示。这让我相信这是保险箱的问题_图像.php脚本FB正在使用代理/缓存图像。在
很可能Facebook应该不引用这个值,以便它与您列出的原始og:image相匹配,您应该为此编写一个bug(正如Nathan建议的那样)。在
然而,从技术上讲,}在URL的path部分有相同的含义,应该同等对待,这样在GAE方面也可能是值得bug的。在这种情况下,您可能需要
%3D
和{urllib.unquote()
在GAE上处理时的路径。(也许您可以简单地重定向到未转义的版本)作为一个解决办法,不要使用谷歌图像服务服务。相反,编写一个处理程序从数据存储中检索blob,对其进行转换,然后将其流式传输回客户机。这使得你可以构建一个更简单的URL,而不会被Facebook盗用。在
Example from GAE Docs:
如果URL linter说一切正常,那么你很可能是对的,这是Facebook的一个bug。我建议搜索他们现有的错误,看看你是否能找到一个存在的,如果没有张贴一个新的错误。目前大约有4300个平台漏洞开放,所以肯定不是没有听说什么东西坏了。Facebook错误:http://bugs.developers.facebook.net/
相关问题 更多 >
编程相关推荐