我正在尝试使用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){}
}
}
答案 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());