FB.UI 源对话框 - 无法"share"脸书的图片



使用移动web应用程序分享facebook照片(实际上是facebook照片)&给对话框。

问题: 无法将facebook的照片发送到Feed对话框。

所有代码都运行良好。当它们被发送到函数时,我得到了所有的属性。

    FB.ui
        method: "feed"
        link: 'url'
        app_id: myAppID
        name: 'photo's name'
        description: ''
        caption: $('#albumName').text()
        picture: 'http://myUrl.com/logo.png'
    , (response) ->
        if response and response.post_id
            console.log 'Photo was shared'
        else
            console.log 'Photo was not shared. Please try again'

如果我放置一个静态照片,以表示图片参数,一切都很好,但是如果我尝试调用一个facebook图片我尝试分享,然后我得到一个500服务器错误。

得到https://www.facebook.com/dialog/feed?access_token=...662390597_s.jpg&sdk=joey500 (OK)

这太奇怪了。进入对话框iframe的URL带有所有需要的参数,包括access_token。

这似乎是一个设计问题。就像facebook上的某个人不希望我们在使用他们的feed对话框分享东西时假装是facebook,当我们分享facebook上的照片时。

我说的对吗?

*问题解决。请看下面我的回答*

!!问题解决 !!

Facebook不接受自己的CDN作为来源。我们需要绕过它来分享,因此我们可以使用代理在facebook上重新分享照片。

http://images.weserv。nl完成这项工作。Facebook接受图片作为图片参数,这样你就可以重新分享他们的帖子。

使用示例(增加宽度和高度以提高性能)

'https://images.weserv.nl/?url=' + facebookImageUrl + '&h=200&w=200'

我不能用这个例子分享facebook照片当我和(fb)分享时。我在这个链接上得到404错误

https://fbexternal-a.akamaihd.net/app_full_proxy.php?app=460125687444228&v=1&size=z&cksum=047536ba625482c9b5343f2eb94a7039&src=https%3A%2F%2Fimages.weserv.nl%2F%3Furl%3Dhttps%253A%252F%252Ffbcdn-sphotos-b-a.akamaihd.net%252Fhphotos-ak-ash4%252Ft1.0-9%252F10157304_1383818341898181_8685912667835736794_n.jpg%26h%3D200%26w%3D200"
"app=460125687444228
cksum=047536ba625482c9b5343f2eb94a7039
size=z
src=https://images.weserv.nl/?url=https%3A%2F%2Ffbcdn-sphotos-b-a.akamaihd.net%2Fhphotos-ak-ash4%2Ft1.0-9%2F10157304_1383818341898181_8685912667835736794_n.jpg&h=200&w=200
v=1"

最新更新