繁体   English   中英

Graph Api在Android上未返回性别

[英]Graph Api not returning Gender on Android

我正在使用以下代码,使用用于Android的facebook sdk从用户ID中检索用户的姓名和性别。

protected void getUserDetails(ArrayList<String> ids) {
    // TODO Auto-generated method stub
    Bundle params=new Bundle();
    params.putString("fields","name,gender");
    RequestBatch rb=new RequestBatch();
    Request request=null;
    users=new ArrayList<UserContainer>();

    for(String userid:ids)
    {
          request=newRequest(Session.getActiveSession(),"/"+userid,params,HttpMethod.GET,userCallBack);

        rb.add(request);
    }

    rb.executeAsync();


}

Request.Callback userCallBack=new Request.Callback() {

    @Override
    public void onCompleted(Response response) {
        // TODO Auto-generated method stub
        System.out.println(response.toString());
        JSONObject object=response.getGraphObject().getInnerJSONObject();
        UserContainer user=new UserContainer();
            try {

                if(object.has("name"))
                {

                    user.setName(object.getString("name"));

                }
                if(object.has("gender"))
                {
                    System.out.println("Gender:"+object.getString("gender"));
                    user.setGender(object.getString("Gender"));
                }
                else
                    user.setGender("N/A");

            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            users.add(user);


            showLikers(users);

    }
};

上面的代码仅返回名称和ID,而不返回性别。 如何获得用户的性别?

您使用3.x API很有用,对此值没有单独的许可,您可以像这样获得性别并查看Facebook性别

  private String UserInfoDisplay(GraphUser user) {    

    StringBuilder userInfo = new StringBuilder("");              
    String Name =  user.getName();
    String Id =   user.getId();
    String lastname =    user.getLastName();
    String firstname =  user.getFirstName();
    String getUsername =  user.getUsername();             

    String get_gender = (String) user.getProperty("gender");


    String image_url = "http://graph.facebook.com/"+user.getId()+"/picture?type=square";        

    Log.i("User information == >", Name +Id + lastname+ 
            firstname + image_url + get_gender +  getUsername + "usermail"+User_mail  );

    text.setText(Name + "  mail = " +User_mail);

    return userInfo.toString();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM