I am trying to change my Facebook SDK from 3.20 to 4.x. The video upload gets broken with the new SDK.
Here is the code that is working in 3.20:
Request request = Request.newUploadVideoRequest(session, new File(videoPath), callback);
Bundle params = request.getParameters();
params.putString("title", albumName);
params.putString("description", " #SomeTag");
request.setParameters(params);
request.executeAsync();
Here are the different things I have tried with the new SDK 4.x. But every time I get the same error:
{FacebookServiceException: httpResponseCode: 500, facebookErrorCode: 6000, facebookErrorType: FacebookApiException, message: There was a problem uploading your video file. Please try again with another file.}
1.
AccessToken accessToken = AccessToken.getCurrentAccessToken();
GraphRequest request = GraphRequest.newPostRequest(accessToken, "me/videos", null, callback);
Bundle params = request.getParameters();
params.putString("file_url", videoPath);
params.putString("title", albumName);
File videoFile = new File(videoPath);
ParcelFileDescriptor descriptor = ParcelFileDescriptor.open(videoFile, ParcelFileDescriptor.MODE_READ_ONLY);
params.putParcelable("source", descriptor);
params.putString("description", " #SomeTag");
request.setParameters(params);
request.executeAsync();
2.
AccessToken accessToken = AccessToken.getCurrentAccessToken();
GraphRequest request = GraphRequest.newPostRequest(accessToken, "me/videos", null, callback);
Bundle params = request.getParameters();
params.putString("file_url", videoPath);
params.putString("title", albumName);
byte[] byteVideo = getFileByteArray(videoPath);
params.putByteArray("source", byteVideo);
params.putString("description", " #SomeTag");
request.setParameters(params);
request.executeAsync();
3.
AccessToken accessToken = AccessToken.getCurrentAccessToken();
GraphRequest request = GraphRequest.newPostRequest(accessToken, "me/videos", null, callback);
Bundle params = request.getParameters();
params.putString("file_url", videoPath);
params.putString("title", albumName);
params.putString("source", "{video-data}");
params.putString("description", " #SomeTag");
request.setParameters(params);
request.executeAsync();
I'd appreciate any help. I have not found any video upload sample from Facebook either for the new SDK.