Android 在facebook上发布视频的缺陷
我正在制作一个应用程序,我想在facebook上粘贴视频。但每当我尝试时,我都会得到一个例外:Android 在facebook上发布视频的缺陷,android,facebook,Android,Facebook,我正在制作一个应用程序,我想在facebook上粘贴视频。但每当我尝试时,我都会得到一个例外: 08-26 14:56:41.311: D/Facebook-Example(520): Response: {"error":{"message":"(#351) Video file was corrupt or invalid","type":"OAuthException","code":351}} 08-26 14:56:41.366: W/Facebook-Example(520): Fa
08-26 14:56:41.311: D/Facebook-Example(520): Response: {"error":{"message":"(#351) Video file was corrupt or invalid","type":"OAuthException","code":351}}
08-26 14:56:41.366: W/Facebook-Example(520): Facebook Error: (#351) Video file was corrupt or invalid
代码如下:
mUploadButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
byte[] data = null;
AssetFileDescriptor fileDesc = getResources().openRawResourceFd(
R.raw.baba);
String dataPath = fileDesc.toString();//"android.resource://com.facebook.android/raw/movie";
String dataMsg = "Your video description here.";
String dataName = "baba.wav";
Bundle param;
AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(mFacebook);
InputStream is ;
try
{
is = fileDesc.createInputStream();
if(is != null)
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 SampleRequestListener(), null);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
});
mUploadButton.setVisibility(mFacebook.isSessionValid() ?
View.VISIBLE :
View.INVISIBLE);
请告诉我如何解决此问题。谢谢。您的应用程序是否经过身份验证?否则,facebook将抛出一个错误。您需要一个身份验证id才能在facebook上发布。先生,请您解释一下真实性的概念。在您对其系统进行任何操作之前,facebook系统需要识别您的应用程序。你去那里创建一个应用程序,他们会给你一个应用程序的身份验证号。无论何时发送日期,您都必须发送该号码。Facebook验证该号码是否存在。如果确实存在,则Facebook允许您做任何您想做的事情,如果不存在,则Facebook会抛出错误。是的,先生,在问这个问题之前,我已经创建了facebook应用程序id并对我进行了身份验证。我认为这不是问题,先生。“文件已损坏或无效”不是真正的问题,因为您知道该文件确实存在且未损坏。我会检查代码逻辑,特别是'AsyncFacebookRunner',我认为这可能是问题所在。我试图给你一些想法,我不做任何假设。baba.wav是视频文件吗?我想如果你想直接上传视频,我建议你参考这个facebook链接,从facebook Android获取令牌,然后自己上传,即使我尝试过mp4和3gp文件,我也会遇到同样的错误。根据Graph API,应该上传视频,而默认的Graph端点是,如果我是你,我会验证AsyncFacebookRunner在哪里发布到IR。你能告诉我如何检查我在哪个网站上发布。你可以安装一些网络跟踪工具作为wireshark并分析网络流量。。。但它需要一些时间来安装和理解如何。。。因此,请注意,它本身并不能解决问题,只需提供一些有关http级别正在发生的事情的附加信息即可