0

我正在制作一个应用程序,我想在 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();
                }       
            }
        });

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

4

1 回答 1

1

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

在您的应用程序的身份验证流程中,您没有请求用户授予您video_upload权限publish_actions- 这三个中的任何一个都将允许视频上传,但第三个范围更广,会触发身份验证对话框上的第二个页面。publish_stream

检查您使用的任何 SDK,看看它是否有一个方便的包装器来在身份验证流中请求额外的权限。在常规 Oauth 流程中,您只需将所需权限列表作为scope参数添加到Oauth 对话框中

于 2012-08-26T06:07:18.650 回答