Is uploading videos from an SD Card to Facebook possible with the Facebook SDK?

Viewed 13412

Can we upload videos from an Android device's SD Card to a Facebook account via the Facebook SDK?

If so, what are some simple examples?

4 Answers

With the release of new facebook SDK 3.5, video uploading has been made easier. If you are using sdk 3.5 or above here is the code for uploading video to facebook

//Path to the video, Ex: path = Environment.getExternalStorageDirectory() + File.separator + "myVideo.mp4";
        String path;
        //get the current active facebook session
        Session session = Session.getActiveSession();
        //If the session is open
        if(session.isOpened()) {
            //Get the list of permissions associated with the session
            List<String> permissions = session.getPermissions();
            //if the session does not have video_upload permission
            if(!permissions.contains("video_upload")) {
                //Get the permission from user to upload the video to facebook
                Session.NewPermissionsRequest newPermissionsRequest = new Session
                        .NewPermissionsRequest(this, Arrays.asList("video_upload"));
                session.requestNewReadPermissions(newPermissionsRequest);
            }


            //Create a new file for the video 
            File file = new File(path);
            try {
                //create a new request to upload video to the facebook
                Request videoRequest = Request.newUploadVideoRequest(session, file, new Request.Callback() {

                    @Override
                    public void onCompleted(Response response) {

                        if(response.getError()==null)
                        {
                            Toast.makeText(MainActivity.this, "video shared successfully", Toast.LENGTH_SHORT).show();
                        }
                        else
                        {
                            Toast.makeText(MainActivity.this, response.getError().getErrorMessage(), Toast.LENGTH_SHORT).show();
                        }
                    }
                });

                //Execute the request in a separate thread
                videoRequest.executeAsync();

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }

        //Session is not open
        else {
            Toast.makeText(getApplicationContext(), "Please login to facebook first", Toast.LENGTH_SHORT).show();
        }
Related