Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.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
Java 未能完成我刚刚成功分享的fb喜欢帖子_Java_Android_Facebook_Facebook Graph Api_Facebook Sdk 3.0 - Fatal编程技术网

Java 未能完成我刚刚成功分享的fb喜欢帖子

Java 未能完成我刚刚成功分享的fb喜欢帖子,java,android,facebook,facebook-graph-api,facebook-sdk-3.0,Java,Android,Facebook,Facebook Graph Api,Facebook Sdk 3.0,我已将我的android应用程序的url共享到FB: 然后我将posted(硬编码)保存在一旁 我试着对那个帖子做“fb式”的报道 使用此代码,但出现错误: Button socialBtn3 = (Button) dialog .findViewById(R.id.socialBtn3); socialBtn3.setOnClickListener(new OnClickListener() {

我已将我的android应用程序的url共享到FB:

然后我将posted(硬编码)保存在一旁

我试着对那个帖子做“fb式”的报道

使用此代码,但出现错误:

Button socialBtn3 = (Button) dialog
                        .findViewById(R.id.socialBtn3);
                socialBtn3.setOnClickListener(new OnClickListener() {

                    String fbPostId = "685560152_10153809399380153";
                    @Override
                    public void onClick(View v) {

                        new LikeFbPostAsyncTask().execute(fbPostId);
                    }
                });
这是:

public class LikeFbPostAsyncTask extends AsyncTask<String, Void, Void> {

    public LikeFbPostAsyncTask() {
    }

    @Override
    protected void onPreExecute() {
        Log.i("LikeFbPostAsyncTask", "Starting web task...");
    }

    @Override
    protected Void doInBackground(String... fbPostId) {

        Request likeRequest = new Request(Session.getActiveSession(),
                fbPostId + "/likes", null, HttpMethod.POST,
                new Request.Callback() {

                    @Override
                    public void onCompleted(Response response) {
                        Log.i(TAG, response.toString());

                        // how to return to ui thread?
                        // return response;
                    }
                });
        Request.executeBatchAndWait(likeRequest);
        return null;

    }

    @Override
    protected void onPostExecute(Void res) {

    }
}
像EFBPostaSyncTask这样的公共类扩展了AsyncTask{
公共类EFBPostaSyncTask(){
}
@凌驾
受保护的void onPreExecute(){
Log.i(“LikeFbPostAsyncTask”,“启动web任务…”);
}
@凌驾
受保护的Void doInBackground(字符串…fbPostId){
Request likeRequest=新请求(Session.getActiveSession(),
fbPostId+“/likes”,null,HttpMethod.POST,
新的Request.Callback(){
@凌驾
未完成公共无效(响应){
Log.i(TAG,response.toString());
//如何返回ui线程?
//返回响应;
}
});
Request.executeBatchHandWait(如请求);
返回null;
}
@凌驾
受保护的void onPostExecute(void res){
}
}
{响应:响应代码:404,graphObject:null,错误:{HttpStatus: 404,错误代码:803,错误类型:OAutheException,错误消息:(#803) 您请求的某些别名不存在: [Ljava.lang.String;@4284cd10},isFromCache:false}


如何解决此问题?

您正在向AsyncTask发送字符串参数数组(
String…
)。 从数组中提取所需字符串时,应执行以下操作:

    Request likeRequest = new Request(Session.getActiveSession(),
            fbPostId[0] + "/likes", null, HttpMethod.POST,
            new Request.Callback() {
而不是:

Request likeRequest = new Request(Session.getActiveSession(),
        fbPostId + "/likes", null, HttpMethod.POST,
        new Request.Callback() {

我认为您不需要
AsyncTask
,因为facebook
execBatchandWait
也会以异步方式执行请求。下次我怎么知道这一点?这肯定是写在哪里的?我不确定您的意思是什么,我如何解决我的问题?我在哪里可以验证
execBatchandWait也执行以异步方式发送请求