使用Android中的Graph API在Facebook上直播视频

时间:2019-05-29 09:02:31

标签: java android facebook-graph-api rtmp

我正在尝试使用Graph API在Facebook页面上直播视频。我使用可访问publish_video,manage_pages和publish_pages权限的管理员帐户登录页面。然后,我生成Graph API请求以获取 RTMP流URL ,以使用LiveVideoBroadcaster SDK在Facebook页面上发布视频,但为此,我首先需要具有页面访问令牌才能找到该页面的RTMP流URL。

我可以通过调用AccessToken.getCurrentAccessToken()来获取用户访问令牌的对象,但是如何为在文档中找不到的页面创建 AccessToken 的对象。

以下是我正在使用的Graph API请求的代码段。

    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){}
                        }
                    }

1 个答案:

答案 0 :(得分:0)

您可以从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());