Permissions Error - Trying to get friends using android facebook sdk

前端 未结 3 1909
我寻月下人不归
我寻月下人不归 2021-01-03 10:53

I am trying to add a feature to my android app that allows users to \"checkin\" with other people tagged to the checkin. I have the checkins method working no problem and ca

3条回答
  •  隐瞒了意图╮
    2021-01-03 11:16

    The solution is to implement a RequestListener when making the request to the Facebook graph API. I have the new getFriends() method (see below) which uses the AsyncGacebookRunner to request the data.

    public void getFriends(CharSequence[] charFriendsNames,String[] sFriendsID, ProgressBar progbar) {
        try{
            //Pass arrays to store data
            friends = charFriendsNames;
            friendsID = sFriendsID;
            pb = progbar;
            Log.d(TAG, "Getting Friends!");
            //Create Request with Friends Request Listener
            mAsyncRunner.request("me/friends", new FriendsRequestListener());
        } catch (Exception e) {
            Log.d(TAG, "Exception: " + e.getMessage());
        }
    }
    

    The AsyncFacebookRunner makes the the request using the custom FriendsRequestListener (see below) which implements the RequestListener class;

    private class FriendsRequestListener implements RequestListener {
        String friendData;
    
        //Method runs when request is complete
        public void onComplete(String response, Object state) {
            Log.d(TAG, "FriendListRequestONComplete");
            //Create a copy of the response so i can be read in the run() method.
            friendData = response; 
    
            //Create method to run on UI thread
            FBConnectActivity.this.runOnUiThread(new Runnable() {
                public void run() {
                    try {
                        //Parse JSON Data
                        JSONObject json;
                        json = Util.parseJson(friendData);
    
                        //Get the JSONArry from our response JSONObject
                        JSONArray friendArray = json.getJSONArray("data");
    
                        //Loop through our JSONArray
                        int friendCount = 0;
                        String fId, fNm;
                        JSONObject friend;
                        for (int i = 0;i

    Feel free to use any of this code in your own projects, or ask any questions about it.

提交回复
热议问题