Wie lade ich Videos mit Facebook Android SDK 4.x auf Facebook hoch?

Ich versuche mein Facebook SDK von 3.20 auf 4.x zu ändern. Der Video-Upload wird mit dem neuen SDK unterbrochen.

Hier ist der Code, der in 3.20 funktioniert:

    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();

Hier sind die verschiedenen Dinge, die ich mit dem neuen SDK 4.x ausprobiert habe. Aber jedes Mal bekomme ich den gleichen Fehler:

{FacebookServiceException: httpResponseCode: 500, facebookErrorCode: 6000, facebookErrorType: FacebookApiException, Nachricht: Beim Hochladen Ihrer Videodatei ist ein Problem aufgetreten. Bitte versuchen Sie es mit einer anderen Datei erneut.}

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();

Ich würde mich über jede Hilfe freuen. Ich habe auch kein Beispiel für das Hochladen von Videos von Facebook für das neue SDK gefunden.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage