Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook开放图不是';t加载图像_Javascript_Php_Facebook_Api_Facebook Graph Api - Fatal编程技术网

Javascript Facebook开放图不是';t加载图像

Javascript Facebook开放图不是';t加载图像,javascript,php,facebook,api,facebook-graph-api,Javascript,Php,Facebook,Api,Facebook Graph Api,我已经建立了一个微型网站,允许用户装饰一棵树,并在facebook/twitter等网站上共享 一些php魔术创建并上传他们的图像,然后在最后一页设置要检索的变量 $file = $_GET["file"]; $url = "http://www.jajo.net/odditree/" . $file; 除了Facebook共享对话框外,一切正常 首先,我尝试使用URL共享图像: <a class="btn fb" href="" onclick="window.open('http:

我已经建立了一个微型网站,允许用户装饰一棵树,并在facebook/twitter等网站上共享

一些php魔术创建并上传他们的图像,然后在最后一页设置要检索的变量

$file = $_GET["file"];
$url = "http://www.jajo.net/odditree/" . $file;
除了Facebook共享对话框外,一切正常

首先,我尝试使用URL共享图像:

<a class="btn fb" href="" onclick="window.open('http://www.facebook.com/sharer.php?s=100&p[url]=<?echo $url?>&p[images][0]=<?echo $url?>&p[title]=Jajo - Holiday Odditree=', 'newwindow', 'width=600, height=250'); return false;"><span class="icon"><i class="icon-facebook"></i></span> Share on Facebook</a>

有时会加载描述,有时加载图像。决不能两者兼而有之

在努力实现这一目标后,我接受了Facebook的意愿,创建了一个应用程序

在完成开发文档之后,我将以下内容放在一起:

<a style="cursor:pointer;" onclick="window.open('https://www.facebook.com/sharer/sharer.php?app_id=823686387676926&u=http%3A%2F%2Fwww.jajo.net%2Fodditree&display=popup&ref=plugin' , 'newwindow', 'width=600, height=250'); return flase;">Facebook Again</a>

我在这里不知所措

如果有人能帮我解决这个问题,我将不胜感激

==更新=== 在涉及了几个人之后,进行了一次长时间的交谈,并且拔出了头发。。。我们无法及时完成这项工作,网站无法启动。所以我们放弃了facebook的东西,它变成了一场推特运动


说到底,我最好的猜测是它与图像大小有关。

我以前遇到过问题,无论我做什么,它都会在图像上提供选项,以便使用左/右箭头。在网上读一些东西。有人建议在页眉中使用
image\u src
标记

<link rel="image_src" href="http://URL-TO-YOUR-IMAGE" / >

但这似乎是老方法,而不是开放图形方法。看到了一些听起来更有希望的事情,清理FB的缓存

要强制Facebook刷新其缓存,以便您的更改反映在Facebook上,您必须强制“刮取”页面。当页面管理员单击“Like”按钮或将URL输入Facebook URL Linter时,页面将被刮取

从这篇文章中:


想知道如果你添加了第二个
og:image

会发生什么,很抱歉你没有及时添加

我只是有我自己的沮丧时光,我的解决方案本可以是你的。我会把它贴在这里给任何跟在我们后面的人。Facebook OG:图像未显示。啊!!!我真不敢相信我昨晚和今天在这上面浪费了多少时间。真让人发疯!我追踪了每一条兔子的踪迹,Facebook继续忽略我的og:image属性(我甚至在我的web.config中删除了ssl的url重定向,并对网站进行了重新编码,这样我就可以拥有一个不安全且安全的图像版本)。在我看来一切都很好,但它总是忽略了财产

然后

我在这里:

这是您要使用的工具,而不是此工具:

资源管理器会向您提供共享调试工具没有的详细错误消息,在我的示例中,具体是:

我的图像文件名中的空格不是url编码的。在你的文件名中有一个空格,它可以正常浏览,但Facebook会拒绝它,因为它在共享调试器页面上的属性没有任何错误消息(不知道他们为什么称它为调试器,浏览器才是真正的调试器)。(如果我能拯救一个人,那么我的痛苦是值得的)


哦,是的。。。资源管理器的链接位于“调试器”页面的最底部(标题为通过API刮取)。

我在中添加了该链接,但它似乎没有影响共享对话框。至于抓取,每次我进行更改时,我都会运行调试器并获取新信息。我将尝试添加第二个og:image行以查看它的功能…验证缓存是否确实已清除。。。?可能会在描述中添加一些内容?添加第二行会产生意想不到的效果。。。有了这一点,它开始有早期的问题,它要么显示图像或描述,但不是两者都显示。。。非常困惑。对于你之前的评论,是的。缓存肯定被清除了。对不起,我被打败了。你的分数看起来不错,但也许你可以更仔细地检查错误。可能在PHP中转义/回音不好,无效且默认为您所获得的内容?我认为这里的问题是您在
/share.php?file=xxxx
url所指向的
http://www.jajo.net/odditree/
-这会将Facebook的爬虫重定向到该URL以获取元数据-您应该在调试工具输出中看到这一点,其中显示了它为获取输入URL的元数据而遍历的URL
<link rel="image_src" href="http://URL-TO-YOUR-IMAGE" / >