我尝试使用 Graph API 将 YouTube 视频直接发布到 Facebook 事件墙上。
当发布到粉丝专页墙时,我得到了想要的结果(发布带有预览图片和视频本身),但是当发布到活动墙时,我只收到消息,没有任何视频和预览图片。
这是代码:
var eventObj =
{
source:'http://www.youtube.com/v/'+youTubeID,
picture:'http://img.youtube.com/vi/'+youTubeID+'/0.jpg',
message: messageText,
name: eventName,
caption: newDateArray[0] + ' ' + newDateArray[1].substr(0, 5)
};
FB.api('/'+facebookEventID+'/feed', 'post', eventObj, function(response){
//response code...
}
执行此代码后,我在 Event Wall 中获得了一个新帖子,仅messageText
显示了该帖子。我试过只发送source
,但它返回一个带有消息的错误对象,它无法创建没有消息的帖子,所以我尝试发送两者source
并message
得到相同的结果:只显示消息。
根据答案更新:
我试过使用你的代码和你的权限,结果是一样的:
我只得到文字:
也许是因为我作为 FanPage 发布?你知道如何解决它吗?
更新 #2 基于答案:
似乎出于某种原因,从 Facebook 内部创建的事件具有更新版本的帖子 UI,然后是使用 Graph API 从应用程序创建的事件。
这是来自 Facebook 中创建的事件:
这是来自使用 Graph API 创建的事件:
您可以看到第二个是旧版本,我猜这种差异也导致了将 YouTube 链接上传到由 Graph API 创建的事件的问题,因为我成功地将 YouTube 链接从 API 上传到我从内部创建的事件Facebook。