这个自我答案是由于被废弃的 facebook共享器基于api的api而苦恼的结果,它一直拒绝发布我通过sharer格式设置的url。无论设置了什么隐私设置,最终的响应都是如下:
{
"__ar":1,
"error":1367001,
"errorSummary":"Could not post to Wall",
"errorDescription":"The message could not be posted to this Wall.",
"payload":null,
"bootloadable":{},
"ixData":[]
}我那一塌糊涂的代码。(是的,它打破了web开发中已知的所有约定,是的,我继承了这段代码。)
<?php
$url = urlencode(Domain::getDomain()."/".$details['urlname']);
$title=urlencode($details['name']);
$summary=$details['name'];
$image=urlencode(constant('BASE_IMAGES').'/'.$details['gallery']['listing'][0]['thumb']['src']);
?>
<a onClick="window.open('http://www.facebook.com/sharer.php?s=100&p[title]=<?php echo $title;?>&p[summary]=<?php echo $summary;?>&p[url]=<?php echo $url; ?>&p[images][0]=<?php echo $image;?>','sharer','toolbar=0,status=0,width=548,height=325'); return false" href="javascript: void(0)"><img src="/site/images/icon-facebook.png" alt="Facebook" border="0"></a>官方问题是:为什么分享者在facebook上分享链接的方法会导致这个错误?
发布于 2013-07-31 20:37:44
就我的情况而言,这是因为我没有包含包含协议在内的完全限定的URL。我的PHP生成的URL是一个混乱的连接,不包括协议。加上它之后,这个帖子就通过了。
我不得不将上面列出的第二行更改为
$url = urlencode('http://'.Domain::getDomain()."/".$details['urlname']);Facebook抛出这个1367001 Error可能有更多的原因,但至少有一件事需要检查。
发布于 2013-08-21 11:51:59
是的,请用http://例如:http://www.google.com开始你的网址
可能会在它们的(FB)端执行Url验证,因此从协议名开始,以域名(com,co.in,即)结束--这解决了我的问题:)
https://stackoverflow.com/questions/17980502
复制相似问题