2015-07-06 3 views
0

Я пытаюсь связать Facebook пользователя с App42, я могу войти в facebook, и это работает, однако я не могу связать пользователя с app42, я получаю исключение. Я использую следующий код:Ссылка Facebook Пользователь с App42

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    App42API.initialize(getApplicationContext(), "MY_API_KEY","MY_SECRET_KEY"); 
    FacebookSdk.sdkInitialize(getApplicationContext()); 
    callbackManager = CallbackManager.Factory.create(); 
    setContentView(R.layout.activity_main); 
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends")); 
    loginButton = (LoginButton)findViewById(R.id.login_button); 
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      Profile profile = Profile.getCurrentProfile(); 
      AccessToken token = AccessToken.getCurrentAccessToken(); 

      String userName = profile.getId(); 
      String accessToken = token.toString(); 
      socialService.linkUserFacebookAccount(userName, accessToken, new App42CallBack() { 
       public void onSuccess(Object response) { 
        Social social = (Social) response; 
        System.out.println("userName is " + social.getUserName()); 
        System.out.println("fb Access Token is " + social.getFacebookAccessToken()); 
        String jsonResponse = social.toString(); 
       } 

       public void onException(Exception ex) { 
        System.out.println("Exception Message" + ex.getMessage()); 
       } 
      }); 

     } 

     @Override 
     public void onCancel() { 

     } 

     @Override 
     public void onError(FacebookException e) { 

     } 
    }); 

} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    callbackManager.onActivityResult(requestCode, resultCode, data); 
} 

Я получаю следующее:

07-06 16:27:16.594 9810-9862/tk.hasankassem.tapo I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false 
07-06 16:27:16.954 9810-9810/tk.hasankassem.tapo I/System.out﹕ Installation.getSession : /data/data/tk.hasankassem.tapo/files/SESSION: open failed: ENOENT (No such file or directory) 
07-06 16:27:16.954 9810-9810/tk.hasankassem.tapo I/System.out﹕ Installation.getUser : /data/data/tk.hasankassem.tapo/files/USER: open failed: ENOENT (No such file or directory) 
07-06 16:27:16.964 9810-9868/tk.hasankassem.tapo I/System.out﹕ Exception :com.shephertz.app42.paas.sdk.android.App42Exception: java.lang.IllegalArgumentException: key.length == 0 
07-06 16:27:16.964 9810-9868/tk.hasankassem.tapo I/System.out﹕ Exception Messagejava.lang.IllegalArgumentException: key.length == 0 
07-06 16:27:16.969 9810-9867/tk.hasankassem.tapo I/System.out﹕ Thread-121146(ApacheHTTPLog):Reading from variable values from setDefaultValuesToVariables 
07-06 16:27:16.969 9810-9867/tk.hasankassem.tapo I/System.out﹕ Thread-121146(ApacheHTTPLog):isSBSettingEnabled false 
07-06 16:27:16.974 9810-9867/tk.hasankassem.tapo I/System.out﹕ Thread-121146(ApacheHTTPLog):isShipBuild true 
07-06 16:27:16.974 9810-9867/tk.hasankassem.tapo I/System.out﹕ Thread-121146(ApacheHTTPLog):SmartBonding Enabling is false, SHIP_BUILD is true, log to file is false, DBG is false 

ответ

1

После пройти через код, который я хотел бы предложить вам

  1. Создать объект socialService после инициализация App42API, как

App42API.initialize (getApplicationContext(), "MY_API_KEY", "MY_SECRET_KEY"); SocialService socialService = App42API.buildSocialService();

  1. Ниже приведенное исключение возникает, если вы создаете SocialService до инициализации SDK.

Messagejava.lang.IllegalArgumentException: key.length == 0

+0

Спасибо, что работает –

Смежные вопросы