【问题标题】:Android Facebook SDK How to get all friends list who installed my appAndroid Facebook SDK 如何获取安装了我的应用的所有好友列表
【发布时间】:2020-01-04 14:42:44
【问题描述】:

我成功获得了安装了我的应用的朋友但是我有一个案例是一些已经安装了我的应用的朋友,当我请求获取朋友列表时我找不到他们安装了我的应用程序。我想由于他们的 Facebook 隐私而没有列出。这样对吗 ?或者是什么问题?

这是我的请求代码

        public void find_facebook_friends()
{            

    GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback()
    {
        @Override
        public void onCompleted(JSONObject object, GraphResponse response)
        {

            JSONObject json = response.getJSONObject();

            try
            {
                String friend_name = null;
                String friend_id = null;
                if (json != null)
                {
                    String js = json.toString();
                    String res = response.toString();
                    JSONObject c = response.getJSONObject();
                    JSONObject myfriends = null;

                    try
                    {
                        myfriends = c.getJSONObject("friends");
                    }
                    catch (JSONException e)
                    {
                        e.printStackTrace();
                    }

                    if (myfriends != null)
                    {
                        JSONArray mydata = myfriends.getJSONArray("data");
                        facebookfriends_namesArray = null;
                        facebookfriends_idArray = null;
                        for (int i = 0; i < mydata.length(); i++)
                        {

                            JSONObject jsonobject = mydata.getJSONObject(i);
                            friend_id = jsonobject.getString("id");
                            friend_name = jsonobject.getString("name");
                        }
                    }

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

            }
        }
    });
    Bundle parameters = new Bundle();
    parameters.putString("fields", "id,name,link,email,picture,gender,friends, birthday,first_name,last_name,locale,timezone,updated_time,verified,friendlists");
  request.setParameters(parameters);
    request.executeAsync();
}

【问题讨论】:

    标签: android facebook facebook-graph-api


    【解决方案1】:

    试试这个。请确保您的读取权限包括user_friends,如下所示

    loginButton.setReadPermissions("email", "public_profile","user_friends");
            loginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    Log.d(TAG, "facebook:onSuccess:" + loginResult);
    
                }
    
                @Override
                public void onCancel() {
                    Log.d(TAG, "facebook:onCancel");
                }
    
                @Override
                public void onError(FacebookException error) {
                    Log.d(TAG, "facebook:onError", error);
                }
            });
    

    那就交这样的朋友

     GraphRequest request = GraphRequest.newMyFriendsRequest(AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONArrayCallback() {
                                        @Override
                                        public void onCompleted(JSONArray jsonArray, GraphResponse graphResponse) {
    
    }
    });
    

    或通过获取请求

    String urll="https://graph.facebook.com/v2.7/me/friends?access_token="+ user accesstoken;
    

    参考:-https://coderzpassion.com/android-using-facebook-login-application-using-latest-facebook-sdk/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多