2014-02-06 40 views
1
盒API V2當前用戶的usersinfo

請幫我在獲得用戶的詳細信息在BoxApi V2當前用戶爲Android我想要檢索的Android

的代碼,我現在用的是用戶的詳細信息如下:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     BoxAndroidClient client = null; 
     if (Activity.RESULT_OK != AUTH_REQUEST) { 
      Toast.makeText(this, "fail", Toast.LENGTH_LONG).show(); 
     } else { 
      BoxAndroidOAuthData oauth = data 
        .getParcelableExtra(OAuthActivity.BOX_CLIENT_OAUTH); 

      BoxAndroidOAuthData moath = data 
        .getParcelableExtra(OAuthActivity.USER_SERVICE); 
      client = new BoxAndroidClient(HelloWorldApplication.CLIENT_ID, 
        HelloWorldApplication.CLIENT_SECRET, null, null); 
      client.authenticate(oauth); 

      accestoken = oauth.getAccessToken().toString(); 
      System.out.println("AUTHDATA" + oauth.getAccessToken().toString());// client.getUsersManager().getCurrentUser(requestObj).toString() 
      // + oauth.getAccessToken().toString()); 
      BoxUser user = new BoxUser(); 
      System.out.println("ID" + user.getId()); 
      if (client == null) { 
       Toast.makeText(this, "fail", Toast.LENGTH_LONG).show(); 
      } else { 
       ((HelloWorldApplication) getApplication()).setClient(client); 
       Toast.makeText(this, "authenticated", Toast.LENGTH_LONG).show(); 

      } 
     } 

     BoxDefaultRequestObject requestObject = null; 
     List<BoxUser> userList = null; 
     try { 
      userList = client.getUsersManager().getAllEnterpriseUser(
        requestObject, null); 
     } catch (BoxRestException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (BoxServerException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (AuthFatalFailureException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     for (BoxUser usr : userList) { 
      System.out.println("Addr: " + usr.getAddress()); 
      System.out.println("Name : " + usr.getName()); 
      System.out.println("Login : " + usr.getLogin()); 
     } 

    } 

我收到異常,因爲networkonmainthreadexception ...
任何人可以幫我嗎?

回答

1

獲取當前用戶信息在原始API與調用做GET /用戶/我

不知道是什麼樣子了Java,但可能更多的東西一樣:

user = client.getUsersManager().getCurrentUser 
+0

我已經嘗試,但IAM沒有得到解決方案.............. – user2530663

+0

可以任何身體plz幫助我.............. – user2530663

0

確保您的訪問令牌是最新的。另外,在看你的代碼,你爲什麼要設置

BoxDefaultRequestObject requestObject = null; 

而是做:

BoxDefaultRequestObject requestObject = new BoxDefaultRequestObject() 

否則盒庫會得到一個空指針異常。它從請求對象獲取JSON解析器。

讓我知道這是否工作。