Facebook Open Graph 对象忽略属性

Posted

技术标签:

【中文标题】Facebook Open Graph 对象忽略属性【英文标题】:Facebook Open Graph Object ignores attributes 【发布时间】:2018-02-02 14:31:22 【问题描述】:

多年来,我一直在努力寻找一种解决方案,将我的页面作为内嵌视频发布到 facebook。

我尝试了多个元标记都无济于事(它显示图像缩略图,右侧显示标题/描述/网站)。

我尝试使用流播放器尝试使用og:video:type:application/x-shockwave-flash,但在尝试分享时再次显示相同的结果。

我现在一直在研究 facebook graph api 以寻找可能的答案。

我以为我在自定义开放图形故事中有一些东西,但我使用的是 API v2.10,它自 2.8 以来已被删除,并且自 2017 年 10 月以来已从 API 的过去版本中完全删除,因此这不是解决方案.

然后我查看了Open Graph Stories Object API。我又一次以为我有什么东西,但现在我被卡住了,因为无论我做什么,页面上的示例代码(使用 curl)都不起作用

curl \
  -X POST \
  "https://graph.facebook.com/app/objects/video.other"  \
  -F "access_token=APP_TOKEN" \
  -F "object=
    'description':'This is a description',
    'title':'Test Video Object',
    'video':'secure_url_to_video_on_AWS\',
    'url':'secure_url_to_page_on_my_website'
  "
=> "id":"OBJECT_ID"
curl https://graph.facebook.com/OBJECT_ID\?access_token\=\APP_TOKEN\
=> 
  "created_time":"date",
  "title":"Test Video Object",
  "type":"video.other",
  "id":"OBJECT_ID"

当我尝试删除它时,我得到一个错误

curl -X DELETE https://graph.facebook.com/OBJECT_ID\?access_token\=\APP_TOKEN\
=> 
  "error":
    "message":"Unsupported delete request. Object with ID 'OBJECT_ID' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https:\/\/developers.facebook.com\/docs\/graph-api",
    "type":"GraphMethodException",
    "code":100,
    "error_subcode":33,
    "fbtrace_id":"Cbec0ormiGq"
  

所以基本上3个问题:

1) 为什么facebook除了title和type以外的其他属性不保存?

2) 对象显然存在,因为我可以搜索它,所以为什么当我尝试删除它时它说它不存在(在他们的开发者网站上使用对象浏览器的结果相同)?

3) 关于如何分享我的页面并使其显示为内嵌视频的任何想法?

感谢您的帮助。

【问题讨论】:

Open Graph 故事对象不是去这里的方式......如果您只想分享到您的页面的链接,那么这不是一个 Open Graph 故事的开始。嵌入视频以便它们可以在新闻源中播放的方法是通过 OG 元标记,所以你必须从昨天开始跟进你的问题,***.com/q/48565722/1427878 我已经完成了你在那个问题上提出的所有建议@CBroe 这就是为什么我正在研究 Open Graph 故事对象,因为它们看起来可能有用,这就是我在这里尝试的原因更好地理解它们并理解为什么对象似乎无法正常创建(即使它对我的问题没有帮助,我有兴趣让它工作)我还就这个问题向您发送了一些回复。 检查 ***.com/questions/48603909/…,看起来 Facebook 这些天可能故意限制这一点,以保持用户的新闻提要“更干净”...... 嗨@CBroe 您能否将其发布为答案,在阅读了在此共享的链接后,我想我可以关闭这个问题,因为 Facebook 很可能不会对此提供任何解决方案。希望他们会升级 instagram API 作为交换,以允许从网站或类似的东西直接共享。 【参考方案1】:

适当的 Open Graph 元标记将是实现此功能的方法 - 但看起来 Facebook 正在逐步淘汰此功能。

这个问题Facebook Open Graph og:video tag for YouTube videos 指的是 FB 开发者网站上的错误报告,https://developers.facebook.com/bugs/1963535797258090/,他们说,

看起来这种行为实际上是设计使然。

为了使动态消息成为一个更加直观和引人入胜的连接场所,我们从 2017 年 8 月开始在动态消息中引入新的设计更新。

作为这些更新的一部分并在桌面和移动设备上提供一致的体验,桌面上的外部视频链接帖子(付费和自然)将与其他链接帖子的外观和功能相似。人们现在将点击链接离开 Facebook 来观看视频,而不是在动态消息中观看 - 反映了移动设备上此类帖子的体验。


不确定所有内容发布商是否会同时发生这种情况。 Facebook 通常会逐步推出此类更新,因此它可能仍然适用于某些人,而您现在可能无法让它适用于您分享的任何新页面/文章。

【讨论】:

以上是关于Facebook Open Graph 对象忽略属性的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Open Graph 发布带有对象的操作

Facebook Open Graph 操作前身份验证

使用带有地图附件的 Facebook Open Graph Story (GeoPoint)

Facebook Open Graph,提交故事评论

Android 如何在新的 sdk 3.0 中与 Facebook Open Graph 共享数据?

将自定义故事发布到 Facebook Open Graph