Загрузка видео или изображения на Facebook с помощью Android SDK - PullRequest
1 голос
/ 12 февраля 2012

Интересно, знает ли кто-нибудь, как загрузить видео на мою стену на Facebook с помощью Android SDK? Я много искал, но у меня нет кода.

Я попробовал пример Facebook Android SDK, который называется «Hackbook».для загрузки изображения, но я не нашел подробного руководства по загрузке видео с помощью Android Sdk!

Так что если кто-то знает, как это сделать с помощью фрагмента кода или чего-то в этом роде, это будет очень приятно.

Спасибо, ребята.

Ответы [ 2 ]

3 голосов
/ 27 сентября 2012
byte[] data = null;
String dataPath = "/mnt/sdcard/KaraokeVideos/myvideo.3gp";
String dataMsg = "Your video description here.";
Bundle param;
facebook = new Facebook(FB_APP_ID);
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(facebook);
InputStream is = null;
try {
    is = new FileInputStream(dataPath);
    data = readBytes(is);
    param = new Bundle();
    param.putString("message", dataMsg);
    param.putByteArray("video", data);
    mAsyncRunner.request("me/videos", param, "POST", new fbRequestListener(), null);
}
catch (FileNotFoundException e) {
   e.printStackTrace();
}
catch (IOException e) {
   e.printStackTrace();
}
0 голосов
/ 06 сентября 2017
private void uploadVideo() {
    try {
        AccessToken accessToken = AccessToken.getCurrentAccessToken();
        String title = "My titles";
        String description = "My description";
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("value", "EVERYONE");
        byte[] data = readBytes(reversedPath);
        GraphRequest request = GraphRequest.newPostRequest(accessToken, "me/videos", null, this);
        Bundle params = request.getParameters();
        params.putByteArray("video.mov", data);
        params.putString("title", title);
        params.putString("privacy", jsonObject.toString());
        params.putString("description", description);
        params.putInt("file_size", data.length);
        request.setParameters(params);
        request.executeAsync();
        progressBarHorizonatl.setVisibility(View.VISIBLE);
    } catch (JSONException | IOException e) {
        e.printStackTrace();}
    }}


public byte[] readBytes(String dataPath) throws IOException {
    InputStream inputStream = new FileInputStream(dataPath);
    ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024];
    int len;
    while ((len = inputStream.read(buffer)) != -1) {
        byteBuffer.write(buffer, 0, len);
    }
    return byteBuffer.toByteArray();
}
...