0

我正在尝试使用以下代码从我的 android 应用程序将视频上​​传到 facebook-

    String dataPath = videoPath;
    File mFile = new File(videoPath);
        if(nDialog==null){
            nDialog = new ProgressDialog(mContext);
        }
        if(!nDialog.isShowing()){
            nDialog.setMessage("Posting to your wall...");
            nDialog.setCancelable(false);
            nDialog.show();
        }
        Request.newUploadVideoRequest(session, mFile,new Request.Callback() {
            @Override
            public void onCompleted(Response response) {
                Toast.makeText(mContext,"response"+response,Toast.LENGTH_LONG).show();
                Log.i("Upload video test0",response.toString());
                nDialog.dismiss();
            }
        });

但问题是 onCompleted 方法从未被调用过。我也尝试过其他代码,但这也不起作用。请检查链接。提前致谢。

编辑:

当我调用 newUploadVideoRequest 方法时,facebook 会话具有以下值-

{Session state:OPENED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[public_profile, email, contact_email, publish_actions]}, appId:xxxxxxxxxxxxxxxxx}

编辑: OnActivity 结果:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);

}

我试过这个链接,但 onCompleted 方法返回 -oauthexception code 2500,OAuthException : An active access token must be require

4

1 回答 1

1

您需要获得 publish_actions 权限才能上传视频。

您也只是创建一个请求,但从不执行它。您需要将 executeAsync() 添加到您的代码中:

 Request.newUploadVideoRequest(session, mFile,new Request.Callback() {
     @Override
     public void onCompleted(Response response) {
         Toast.makeText(mContext,"response"+response,Toast.LENGTH_LONG).show();
         Log.i("Upload video test0",response.toString());
         nDialog.dismiss();
     }
 }).executeAsync();
于 2014-10-07T21:43:07.147 回答