多次致电facebook graphrequest

时间:2017-05-28 12:48:43

标签: facebook facebook-graph-api android-asynctask

我开发了一个应用程序,我需要多次调用fb graphrequest,但这些调用需要一个接一个,第一个将让我成为用户朋友,其他调用将是在循环中完成(对于每个朋友)获得"喜欢"那个朋友制作的,现在用我制作的代码,第一个给了我的朋友,但第二个(循环指令)赢了工作,我想它与异步调用有关但我不知道不知道如何进行串口通话,这是我的代码:

GraphRequest request = GraphRequest.newMyFriendsRequest(
            AccessToken.getCurrentAccessToken(),
            new GraphRequest.GraphJSONArrayCallback() {
                @Override
                public void onCompleted(JSONArray array, GraphResponse response) {
                    JSONObject jsonArray = response.getJSONObject();

                    try {
                        length = jsonArray.getJSONArray("data").length();


                        for (int i = 0; i < length; i++) {
                            AlertDialog a = new AlertDialog.Builder(liste_peronalisee.this).create();
                            a.setTitle("Erreur");
                            id[i] = jsonArray.getJSONArray("data").getJSONObject(i).getString("id");
                            a.setMessage(id[i]);
                            a.show();


                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                }
            });

    request.executeAsync();
 for(int i=0;i<id.length;i++)
    request = GraphRequest.newGraphPathRequest(
           AccessToken.getCurrentAccessToken(),
            "/".concat(id[i]).concat("/likes"),
            new GraphRequest.Callback() {
                @Override
                public void onCompleted(GraphResponse response) {
                    JSONObject jsonArray = response.getJSONObject();

                    try {
                        length = jsonArray.getJSONArray("data").length();


                        for (int i = 0; i < length; i++) {
                            AlertDialog a = new AlertDialog.Builder(liste_peronalisee.this).create();
                            a.setTitle("Erreur");
                            id[i] = jsonArray.getJSONArray("data").getJSONObject(i).getString("name");
                            a.setMessage(id[i]);
                            a.show();


                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            });

    request.executeAsync();

我需要快速回答,先谢谢

0 个答案:

没有答案