【问题标题】:How to publish a wall post with 2 pictures如何发布带有 2 张图片的墙贴
【发布时间】:2011-06-23 03:06:39
【问题描述】:

我正在创建一个小应用程序,人们可以在其中比较他和他朋友的不同照片。

该应用程序非常简单,我对此没有任何问题。当用户尝试在他们的墙上发布时,问题就出现了。我希望帖子是这样的:

我知道通过这样做:

$parameters = array('message' => 'this is my message',
                    'name' => 'Name of the app',
                    'caption' => "Caption of the Post",
                    'link' => 'http://www.link.com',
                    'description' => 'description',
                    'picture' => 'http://mysite.com/pic.gif');

$result = $facebook->api('/user_id/feed/', 'post', $parameters );

您可以在墙上发帖,但这会将应用程序限制为仅一张图片,我希望用户能够发布两张不同的图片。

有没有办法发布图片中的帖子?


编辑:

添加了一张图片,可以更好地解释我想要什么。

【问题讨论】:

  • 能否在生成图片链接前将图片一起解析到服务器端?

标签: facebook facebook-graph-api


【解决方案1】:

没有深入了解 Facebook API(因为我从未见过 FB 应用发布两张照片,我猜这是不可能的 - 我看到的大多数应用都会像允许的那样垃圾邮件......),我可能会首先使用 PHP 和 ImageMagick 类之类的东西在服务器端动态合成两个图像(并做任何我想做的叠加)。

然后,只需向 Facebook 提供执行合成的 PHP 脚本的 URL,例如

$parameters = array('message' => 'this is my message',
                    'name' => 'Name of the app',
                    'caption' => "Caption of the Post",
                    'link' => 'http://www.link.com',
                    'description' => 'description',
                    'picture' => 'http://mysite.com/pic.php?pic1_id=1234&pic2_id=2345&favorite=pic1');

$result = $facebook->api('/user_id/feed/', 'post', $parameters );

当然,我不知道 Facebook 将需要什么样的尺寸才能将照片与墙贴一起发布 - 它可能不够宽,无法使用。不过我会试试的……

【讨论】:

  • 我已经考虑过了,但我从未在 Facebook 帖子上看到过这么长的图片。无论如何,我需要一个类来将图片下的选定图片消息添加到选定的图片中,所以无论如何我都需要 ImageMagic 类。
【解决方案2】:

Facebook 不久前取消了帖子中的多张图片。当你能够做到这一点时,人们正在制作由多张并排的图片组成的“横幅”。现在,任何墙贴都只显示 1 张图片。您可以发布更多图片,但默认情况下他们不会确定。 Facebook 将添加一个“更多”链接,尽管他们也可能取消了该链接。

【讨论】:

    【解决方案3】:

    至少在 Javascript 中使用 Facebook.streamPublish 时,作为第二个参数,您可以提供一个可能包含媒体数组的附件对象。以下是我的应用程序Japan Name 中的相关部分:

    var media = [];
    for (var i = 1; i < syls.length; i++) {
        media.push({
            'type' : 'image',
            'src' : 'http://youarecu.appspot.com/chars/' + syls[i] + '.png',
            'href' : streamhref
        });
    }
    
    ...
    
    var attachment = {
        'href':'http://apps.facebook.com/youarecute/?from_wall=true&postid=f'+uid+'{{postid}}',
        'name':linkedtxt,
        'description':txt,
        'media':media
    };
    
    ...
    
    Facebook.streamPublish("", attachment, ...
    

    【讨论】:

    • 这不是我想要的,但仍然如此。 +1 用于替代解决方案。谢谢。
    猜你喜欢
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多