编程语言
首页 > 编程语言> > java – 没有做fb喜欢postId我刚刚成功共享

java – 没有做fb喜欢postId我刚刚成功共享

作者:互联网

我已经从我的Android应用程序共享了一个URL到FB:

然后我保存(硬编码)postId

我试着对那篇文章做“fb like”

使用此代码,但收到错误:

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) {

    }
}

{Response: responseCode: 404, graphObject: null, error: {HttpStatus:
404, errorCode: 803, errorType: OAuthException, errorMessage: (#803)
Some of the aliases you requested do not exist:
[Ljava.lang.String;@4284cd10}, isFromCache:false}

我怎么能解决这个问题?

解决方法:

您正在向AsyncTask(String …)发送一个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() {

标签:java,android,facebook,facebook-graph-api,facebook-sdk-3-0
来源: https://codeday.me/bug/20190703/1365851.html