难以在Facebook上发布视频

时间:2012-08-26 05:57:02

标签: android facebook

我正在制作一个应用程序,我想在facebook上发布视频。虽然我尝试这样做,但我收到此错误:

Facebook Error: (#100) Requires extended permission: video_upload or Requires extended permission: publish_actions

这是代码:

mUploadButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                byte[] data = null;
                AssetFileDescriptor fileDesc = getResources().openRawResourceFd(
                R.raw.movie);
                String dataPath =  fileDesc.toString();
                String dataMsg = "Your video description here.";
                String dataName = "movie.mp4";
                Bundle param;
                AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(mFacebook);
                InputStream is ;
                try 
                {
                    is = fileDesc.createInputStream();

                //    is = new FileInputStream(dataPath);
                    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();
                }       
            }
        });

请告诉我问题是什么以及如何解决。

1 个答案:

答案 0 :(得分:1)

问题包含在错误消息中。我认为这是一个相当明确的错误信息。

在您应用的Authentication流程中,您尚未请求用户授予您video_uploadpublish_actionspublish_stream Permission - 任何这三个将允许视频上传,但第三个是更广泛的范围,并在auth对话框上触发第二页。

检查您正在使用的SDK,看看它是否有一个方便的包装器,要求在auth流程中获得额外的权限。在常规Oauth流程中,您只需在调用Oauth dialog

时添加scope参数所需的权限列表