Bar*_*klı 3 javascript php facebook
尝试使用以下代码发布图像和墙贴一起工作几个月.突然它停止了工作.
当我使用https进行测试时,它不起作用,但在http中可行.
如果协议是https,则APP URL使用https,否则使用http.
$protocol = "http";
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']!="off")
$protocol = "https";
define("CANVAS_URL","$protocol://apps.facebook.com/appname/");
define("APP_URL","$protocol://domain.com/content/appname/live/");
FB.ui(
{
method: 'feed',
name: 'my app name',
link: <? echo "'".CANVAS_URL."'";?>,
picture: <? echo "'".APP_URL."'";?>+image,
caption: _caption,
description: _description
}, function(response) {
if (response && response.post_id)
{
// published
} else {
// not published
}
}
);
Run Code Online (Sandbox Code Playgroud)
尽量不要使用SSL URL来获取图像(但仍然将其用于链接的CANVAS_URL).Facebook代理它向用户显示的图像请求,因此即使您从非SSL URL提供图像,Facebook中使用的图像也将通过SSL到达用户.
至于为什么SSL URL不起作用,可能是Facebook用来检索图像的爬虫无法识别您正在使用的证书链.你在浏览器中为我工作得很好,但是当wget在Linux命令行上检索时(可能是比FB浏览器更接近的环境),无法验证证书.