2011-09-02 31 views
5

Tôi cố gắng để tải lên video để facebook sử dụng đoạn mã sauUpload Video lên Facebook

public void uploadVideosFacebook(String videoPath) 
{ 
    byte[] data = null; 

    String dataMsg = "Your video description here."; 
    String dataName="Mobile.wmv"; 
    Bundle param; 

    AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(API); 
    InputStream is = null; 
    try { 
     is = new FileInputStream(videoPath); 
     data = readBytes(is); 

     param = new Bundle(); 
     param.putString("message", dataMsg); 
     param.putString("filename", dataName); 
     param.putByteArray("video", data); 
     mAsyncRunner.request("me/videos", param, "POST", new fbRequestListener(), null); 



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



public byte[] readBytes(InputStream inputStream) throws IOException { 
     // this dynamically extends to take the bytes you read 
     ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream(); 

     // this is storage overwritten on each iteration with bytes 
     int bufferSize = 1024; 
     byte[] buffer = new byte[bufferSize]; 

     // we need to know how may bytes were read to write them to the byteBuffer 
     int len = 0; 
     while ((len = inputStream.read(buffer)) != -1) { 
     byteBuffer.write(buffer, 0, len); 
     } 

     // and then we can return your byte array. 
     return byteBuffer.toByteArray(); 
} 


public class fbRequestListener implements RequestListener { 

    @Override 
    public void onComplete(String response, Object state) { 
     // TODO Auto-generated method stub 
     Log.d("RESPONSE",""+response); 

    } 

    @Override 
    public void onIOException(IOException e, Object state) { 
     // TODO Auto-generated method stub 
     Log.d("RESPONSE",""+e); 

    } 

    @Override 
    public void onFileNotFoundException(FileNotFoundException e, 
      Object state) { 
     // TODO Auto-generated method stub 
     Log.d("RESPONSE",""+e); 

    } 

    @Override 
    public void onMalformedURLException(MalformedURLException e, 
      Object state) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onFacebookError(FacebookError e, Object state) { 
     // TODO Auto-generated method stub 
     Log.d("RESPONSE",""+e); 

    } 

    } 

Nhưng tôi nhận được thông báo lỗi sau để đáp ứng { "lỗi": { "loại": "OAuthException", "message": "(# 352) Định dạng tệp video không được hỗ trợ"}}

Bất kỳ ai cũng có thể giúp tôi. Cảm ơn trước sự giúp đỡ của bạn.

+0

Bạn đã thấy điều này: http://stackoverflow.com/questions/10151708/upload-video-to-facebook-in-android/12470730#12470730 –

Trả lời

0

Có điều gì lạ về tệp video của bạn không? WMV nên được hỗ trợ bởi Facebook, nhưng có lẽ bạn đang sử dụng một biến thể lạ của WMV, một bản sao được bảo vệ, vv? Bạn đã thử cùng một mã với một video khác chưa?

+0

cảm ơn cho câu trả lời ..... nhưng video đó đang được tải lên các trang khác như twitter ... – Vishal

+0

Tôi không chắc chắn, sau đó. Nếu nó chắc chắn làm việc tốt ở nơi khác, và không có gì đặc biệt về video, nó có thể là một lỗi trong video tải lên trên Facebook, có thể nộp một báo cáo lỗi chi tiết và xem nếu nó có thể được sao chép? (http://bugs.developers.facebook.net/) – Igy

1

thấy liên kết này Is uploading videos from an SD Card to Facebook possible with the Facebook SDK?

tôi đã cố gắng tất cả những thứ đó là đề cập trong liên kết này, nhưng tôi đã nhận được cùng một lỗi như bạn. sau đó tôi dọn dẹp dự án tham chiếu Facebook và xây dựng lại nó. và video của tôi đã được giải quyết. video đang tải lên đang hoạt động ..

Các vấn đề liên quan