繁体   English   中英

如何使用 FB.api Javascript ZF20E3C5E54C0AB3D96FAZ5D660B3 将视频发布到 Facebook

[英]How to post a video to Facebook using FB.api Javascript SDK?

我正在尝试按照Video Creation Graph API 端点文档将视频发布到 facebook 用户的时间线。 在发布到 Graph API 之前,我使用FB.login()登录了一个用户。 我要求用户向我的 facebook 应用程序授予public_profileemailuser_videos权限。 用户登录成功并返回访问令牌。 我还在FB.login()回调响应的grantedScopes部分收到user_videos,email,public_profile

但是,当我发出FB.api()请求将视频发布到用户时间轴时,我看到此错误:

window.FB.api(
  `${authResponse.userID}/videos`,
  'POST',
  {
    file_url: <video-url>,
    access_token: authResponse.accessToken,
  },
  (response) => {
    console.log(response)
  }
)
{
  "error": {
    "message": "(#100) No permission to publish the video",
     "type": "OAuthException",
     "code": 100,
     "fbtrace_id": "whatever"
  }
}

需要注意的几点是:

登录对话框上的应用程序审查警告:

当 Facebook 登录对话框显示给用户时,顶部会显示警告:

Submit APP-NAME for Login Review Some of the permissions below have not been approved for use by Facebook. Submit for review now or learn more.

我正在使用我的应用程序的测试版本来开发此功能。 此外,我正在使用 facebook 应用程序的管理员用户来测试此集成。 我不明白为什么会显示上述警告。 在集成此功能的过程中,我真的需要提交申请以供审核吗?

不允许发布到 facebook

另一个警告: This doesn't let the app post to Facebook显示在登录对话框上。 据我所知, user_videos权限应该让我的应用程序将视频发布到用户的时间轴。 但是显示的警告与我的假设相矛盾。 在将视频发布到用户时间线之前,我是否需要请求一些额外的权限?

HTTPS 错误,因为在 localhost 上开发

在本地主机上集成应用程序时,我在浏览器开发人员控制台中看到与 HTTPS 域不可用相关的错误。

The method FB.getLoginStatus can no longer be called from http pages.
The method FB.login can no longer be called from http pages.
The method FB.api can no longer be called from http pages.

在执行此集成之前,我是否需要为我的本地开发设置实施 https?

发布到 graph-video.facebook.com

我对视频发布文档感到困惑。 It says that I need to make a POST request to https://graph-video.facebook.com instead of https://graph.facebook.com in order to publish a video. 相同的文档还提到,“不支持在用户上发布”。 这与Video Creation 文档相矛盾。

为了能够使用FB.api或任何其他方法将视频发布到 facebook 用户时间轴,我究竟应该做什么?

请参阅此页面:

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

您可以从以下路径向视频边缘发出 POST 请求:/{user_id}/videos

尝试这个:

/* make the API call */
FB.api(
    "/{user_id}/videos",
    "POST",
    {
        "source": "{video-data}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM