使用 Android 中的 Graph API 在 Facebook 上直播视频
Posted
技术标签:
【中文标题】使用 Android 中的 Graph API 在 Facebook 上直播视频【英文标题】:Broadcast live video on Facebook using Graph API in Android 【发布时间】:2019-05-29 09:02:31 【问题描述】:我正在尝试使用 Graph API 在 Facebook 页面上直播视频。我使用管理员帐户登录到可以访问 publish_video、manage_pages 和 publish_pages 权限的页面。然后我生成 Graph API 请求以获取 RTMP Stream URL 以使用 LiveVideoBroadcaster SDK 在 Facebook 页面上发布视频,但对于这个本质,我需要首先获得页面访问令牌才能找到该页面的 RTMP 流 URL。
我可以通过调用AccessToken.getCurrentAccessToken()
来获取用户的访问令牌对象,但是如何为我在文档中找不到的那个页面创建 AccessToken 对象。
以下是我正在使用的 Graph API 请求的 sn-p 代码。
LoginManager.getInstance().logInWithPublishPermissions(this, Arrays.asList("publish_video", "manage_pages", "publish_pages"));
/* AccessToken.getCurrentAccessToken() // user access token */
GraphRequest request = GraphRequest.newPostRequest(page-access-token,"/" + "page-id" + "/live_videos",
new JSONObject("\"title\": \"Today's live video\", \"description\": \"This is the live video for today.\""),
new GraphRequest.Callback()
@Override
public void onCompleted(GraphResponse response)
try
String stream_url = response.getJSONObject().getString("stream_url");
catch (JSONException e)
【问题讨论】:
developers.facebook.com/docs/facebook-login/… 【参考方案1】:您可以从 Graph API 请求中接收页面令牌
... page-id?fields=access_token
然后
AccessToken currentAccessToken = AccessToken.getCurrentAccessToken();
AccessToken pageAccessToken = new AccessToken(page_token, currentAccessToken.getApplicationId(), currentAccessToken.getUserId()
,currentAccessToken.getPermissions(), currentAccessToken.getDeclinedPermissions(), currentAccessToken.getExpiredPermissions(), currentAccessToken.getSource()
,currentAccessToken.getExpires(), currentAccessToken.getLastRefresh(), currentAccessToken.getDataAccessExpirationTime());
【讨论】:
以上是关于使用 Android 中的 Graph API 在 Facebook 上直播视频的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android 应用程序中使用多个 Graph API 获取 Facebook Notes Items 的评论?
Parse SDK Android - Facebook Graph API v2.0
Android - 基于 facebook 的 Firebase 登录并调用 Facebook Graph Api 问题