从帖子附件中获取 MP4 流 URL

问题描述 投票:0回答:1

我在一个应用程序中使用 Facebook Graph API,该应用程序播放事件源中的视频。我需要获取 MP4 流 URL 才能在我的 UI 中播放它。有些视频在提要中显示为顶级帖子,而源属性正是我需要的 URL - 耶!其他的则显示为附件(或相册中的子附件)。对于这些,

attachment.url
(和
attachment.target.url
)指向 HTML 页面,而不是 MP4 流。例如,获取带有附件字段的特定帖子会导致:

{
  "attachments": {
    "data": [
      {
        "media": {
          "image": {
            "height": 405,
            "src": "https://scontent.xx.fbcdn.net/v/t15.0-10/s720x720/16327151_10154408614623022_6300713295200387072_n.jpg?oh=9b3b65b957e0a3b8fe4fa1429bf49d1c&oe=58FE6EE2",
            "width": 720
          }
        },
        "target": {
          "url": "https://www.facebook.com/fmyman/videos/10154408612948022/"
        },
        "type": "video_autoplay",
        "url": "https://www.facebook.com/fmyman/videos/10154408612948022/"
      }
    ]
  },
  "id": "1851001951851194_1852406911710698"
}

唉,没有 MP4 流 URL,也没有可以用来获取视频节点的节点 ID。

我的下一个希望是 URL 中的数字串是视频节点的 ID。尝试这样做时,Facebook 会返回一条错误消息,指出该数字字符串不是有效的节点 ID。

{
  "error": {
    "message": "Unsupported get request. Object with ID '10154408612948022' 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,
    "fbtrace_id": "BMqL5viB2je"
  }
}

我的最后一次尝试是获取给定的 URL 并在其中的某个位置找到视频节点 ID。再次,没有运气。该 URL 指向 HTML 页面,但那里没有任何明显的内容可能是视频 ID 或 MP4 流 URL。

所以我束手无策,希望有人能解决这个问题:如何从 feed post 附件中获取 MP4 流 URL?

facebook-graph-api
1个回答
0
投票

事实证明,URL中的数字串确实是视频节点ID。我将错误消息解释为表明事实并非如此,而这意味着我无权访问该特定视频节点(例如,如果视频创建者将其帐户配置为禁止 Facebook 平台访问)。

具体回答我的问题:

  1. 获取
    attachment.url
    值,例如“https://www.facebook.com/fmyman/videos/10154408612948022/”。
  2. 提取数字字符串,例如“10154408612948022”。
  3. 获取具有该 ID 的节点,请求
    source
    字段。
  4. 如果 Facebook 没有响应错误,则
    source
    字段是 MP4 流的 URL。
var url = 'https://graph.facebook.com/' + video_id + '?fields=source&access_token=' + access_token

重要

视频源只能访问

  1. 如果它们不包含授权音乐
  2. 他们属于该用户/或者他们被标记了。

https://developers.facebook.com/docs/graph-api/reference/video/

© www.soinside.com 2019 - 2024. All rights reserved.