繁体   English   中英

图像在FB.ui中不起作用

[英]Images not working in FB.ui

尝试使用以下代码发布图像和墙贴一起工作几个月。 突然它停止了工作。

当我使用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
         }
       }
    );

尽量不要使用SSL URL来获取图像(但仍然将其用于链接的CANVAS_URL)。 Facebook代理它向用户显示的图像请求,因此即使您从非SSL URL提供图像,Facebook中使用的图像也将通过SSL到达用户。

至于为什么SSL URL不起作用,可能是Facebook用来检索图像的爬虫无法识别您正在使用的证书链。 你在浏览器中为我工作得很好,但是当在Linux命令行上通过wget检索时(可能是比FB浏览器更接近浏览器的环境),无法验证证书。

我刚发现的一件事,图像大小似乎也发挥了作用。 我的图片网址是原始的全尺寸jpg。 它没有表现出来。 但在我链接到一个小得多的版本后,它显示了!

在我页面上的四个饲料柱中的两个上,我和Black Knight一样有“薄灰条”。
我拿出了https://现在一切正常......

是...
图片:'https://mysite.com/images/'+图片,
现在...
图片:'mysite.com/images/'+图片,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM