我正在制作一个应用程序,我想在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();
}
}
});
请告诉我问题是什么以及如何解决。
答案 0 :(得分:1)
问题包含在错误消息中。我认为这是一个相当明确的错误信息。
在您应用的Authentication流程中,您尚未请求用户授予您video_upload
,publish_actions
或publish_stream
Permission - 任何这三个将允许视频上传,但第三个是更广泛的范围,并在auth对话框上触发第二页。
检查您正在使用的SDK,看看它是否有一个方便的包装器,要求在auth流程中获得额外的权限。在常规Oauth流程中,您只需在调用Oauth dialog
时添加scope
参数所需的权限列表