socialouth android无法从facebook和Twitter获取联系人

socialouth android无法从facebook和Twitter获取联系人,android,Android,我按照所有说明集成Facebook实现,如中所示。我正在获取个人资料信息,但当我尝试获取联系人列表时,它会引发一个异常,名为org.brickred.socialauth.exception.SocialAuthException:Error,在获取联系人时出错。 我几乎按照所有的指示去解决,但没有结果。 请帮我解决这个问题。 这是代码snipplet loginfacebook.setOnClickListener(new View.OnClickListener() {

我按照所有说明集成Facebook实现,如中所示。我正在获取个人资料信息,但当我尝试获取联系人列表时,它会引发一个异常,名为org.brickred.socialauth.exception.SocialAuthException:Error,在获取联系人时出错。 我几乎按照所有的指示去解决,但没有结果。 请帮我解决这个问题。 这是代码snipplet

loginfacebook.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                try {
                    dialog = ProgressDialog.show(MainHome.this, "",
                            "Login Processing..", true);

                    adapter = new SocialAuthAdapter(new ResponseListener());
                    adapter.authorize(MainHome.this, SocialAuthAdapter.Provider.FACEBOOK);

                } catch (Exception ex) {
                    Log.e("MainHome", "Here!!!!!");
                }

            }
        });
        loginTwitter.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                try {
                    dialog = ProgressDialog.show(MainHome.this, "",
                            "Login Processing..", true);
                    adapter = new SocialAuthAdapter(new ResponseListenerTwitter());
                    adapter.authorize(MainHome.this, SocialAuthAdapter.Provider.TWITTER);
                } catch (Exception ex) {
                    Log.e("log_tag", "Exception In Calling Method ");
                }
            }
        });

 // Response Listener Facebook
  private final class ResponseListener implements DialogListener
    {
            public void onComplete(Bundle values) {
            Log.d("MainHome" , "Authentication Successful");
            adapter.getContactListAsync(new ContactDataListener());
            profileMap =  adapter.getUserProfile();
            Log.d("MainHome",  "First Name = "       + profileMap.getFirstName());
            Log.d("Custom-UI",  "Last Name  = "       + profileMap.getLastName());
            Log.d("Custom-UI",  "Email      = "       + profileMap.getEmail());
            // Log.d("Custom-UI",  "Profile Image URL  = " + profileMap.getProfileImageURL());
            Log.d("Custom-UI",  "Validate ID         = " + profileMap.getValidatedId());
            startActivity(new Intent(getApplicationContext(), UserHome.class));
            dialog.dismiss();
        }
    }

    // Response Listener Twitter
     private final class ResponseListenerTwitter implements DialogListener
    {
        public void onComplete(Bundle values) {
            Log.d("Custom -UI" , "Authentication Successful");


            Profile profileMap;
            profileMap =  adapter.getUserProfile();
            Log.d("Twitter-UI",  "First Name = "       + profileMap.getFullName());
            Log.d("Twitter-UI",  "Last Name  = "       + profileMap.getLastName());
            Log.d("Twitter-UI",  "Email      = "       + profileMap.getEmail());
             Log.d("Custom-UI",  "Profile Image URL  = " + profileMap.getProfileImageURL());
            Log.d("Twitter-UI",  "Validate ID         = " + profileMap.getValidatedId());
            startActivity(new Intent(getApplicationContext(), ProfileInfo.class));
            dialog.dismiss();
            Toast.makeText(getApplicationContext(), "User is connected! With Twitter ",Toast.LENGTH_LONG).show();
        }

    }



private final class ContactDataListener implements SocialAuthListener<List<Contact>> {

        @Override
        public void onExecute(String provider, List<Contact> t) {

            Log.d("Custom-UI", "Receiving Data ContactDataListener");
          //  mDialog.dismiss();
            List<Contact> contactsList = t;

            if (contactsList != null && contactsList.size() > 0) {
                for (Contact c : contactsList) {
                    Log.d("Custom-UI", "Display Name = " + c.getDisplayName());
                    Log.d("Custom-UI", "First Name = " + c.getFirstName());
                    Log.d("Custom-UI", "Last Name = " + c.getLastName());
                    Log.d("Custom-UI", "Contact ID = " + c.getId());
                    Log.d("Custom-UI", "Profile URL = " + c.getProfileUrl());
                    Log.d("Custom-UI", "Profile Image URL = " + c.getProfileImageURL());
                    Log.d("Custom-UI", "Email = " + c.getEmail());
                }
            } else {
                Log.d("Custom-UI", "Contact List Empty");
            }
        }
        @Override
        public void onError(SocialAuthError e) {
            Log.d("Custom-UI", "Error : "+e);
            e.printStackTrace();
        }

未设置您的访问令牌:


W/System.err?原因:java.io.FileNotFoundException:

access\u令牌太长,所以我用XXXXXXXXX替换了它
I/FacebookImpl? Fetching contacts from https://graph.facebook.com/me/friends
I/System.out? [CDS]rx timeout:0
W/System.err? org.brickred.socialauth.exception.SocialAuthException: Error while getting contacts from https://graph.facebook.com/me/friends
W/System.err? at org.brickred.socialauth.provider.FacebookImpl.getContactList(FacebookImpl.java:318)
W/System.err? at org.brickred.socialauth.android.SocialAuthAdapter$ContactTask.doInBackground(SocialAuthAdapter.java:1085)
W/System.err? at org.brickred.socialauth.android.SocialAuthAdapter$ContactTask.doInBackground(SocialAuthAdapter.java:1073)
W/System.err? at android.os.AsyncTask$2.call(AsyncTask.java:287)
W/System.err? at java.util.concurrent.FutureTask.run(FutureTask.java:234)
W/System.err? at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
W/System.err? at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
W/System.err? at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
W/System.err? at java.lang.Thread.run(Thread.java:838)
W/System.err? Caused by: java.io.FileNotFoundException: https://graph.facebook.com/me/friends?access_token=xxxxxxxxxxxxxxxxxxxx
W/System.err? at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:194)
W/System.err? at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
W/System.err? at org.brickred.socialauth.util.Response.getResponseBodyAsString(Response.java:104)
W/System.err? at org.brickred.socialauth.provider.FacebookImpl.getContactList(FacebookImpl.java:316)
W/System.err? ... 8 more
W/System.err? org.brickred.socialauth.android.SocialAuthError: Contact List not Received
W/System.err? at org.brickred.socialauth.android.SocialAuthAdapter$ContactTask.doInBackground(SocialAuthAdapter.java:1090)
W/System.err? at org.brickred.socialauth.android.SocialAuthAdapter$ContactTask.doInBackground(SocialAuthAdapter.java:1073)
W/System.err? at android.os.AsyncTask$2.call(AsyncTask.java:287)
W/System.err? at java.util.concurrent.FutureTask.run(FutureTask.java:234)
W/System.err? at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
W/System.err? at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
W/System.err? at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
W/System.err? at java.lang.Thread.run(Thread.java:838)