使用移动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"