Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在facebook上发布视频的缺陷_Android_Facebook - Fatal编程技术网

Android 在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

我正在制作一个应用程序,我想在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): 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级别正在发生的事情的附加信息即可