获取Facebook的用户数据 [英] Fetch facebook user Data

查看:152
本文介绍了获取Facebook的用户数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿,伙计们
我能够在用户登录其Facebook账户,并张贴在他的个人资料内容。
但我不能够做的就是让Facebook用户的信息。
我不知道哪里是这要是被Facebook在会话中给出的访问令牌。
我使用fbConnect.jar,在我的lib文件夹添加它和构建路径
以下是code,我使用: -

 私人facebook facebookClient;
字符串信息;
按钮FB;
// **当第一次创建活动调用。 * // *
@覆盖
公共无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);    FB =(按钮)findViewById(R.id.fb);
    fb.setOnClickListener(新OnClickListener(){        @覆盖
        公共无效的onClick(视图v){
        whenFb pressed();        }
    });}
@覆盖
公共无效onCancel(){
    // TODO自动生成方法存根}@覆盖
公共无效的onComplete(束值){
    // TODO自动生成方法存根    如果(values​​.isEmpty()){
        返回;
    }    如果(!values​​.containsKey(POST_ID)){
        尝试{
            捆绑参数=新包();
            参数
                    .putString(信息,被听); //将              parameters.putString(附件,
              {\\名称\\:\\我的测试图像\\,+\\HREF \\:\\+
              http://www.google.com+\\,+
              \\媒体\\:[{\\类型\\:\\图片\\,\\SRC \\:\\+
              http://www.google.com/logos/mucha10-hp.jpg+
              \\,\\HREF \\:\\+http://www.google.com+\\}]+});            parameters.putString(附件,{\\名称\\:\\+阿布舍克
                    +\\,+\\HREF \\:\\+www.google.com+\\}]+});            facebookClient.dialog(这一点,stream.publish,参数,这一点);
        }赶上(例外五){
            的System.out.println(e.getMessage());
        }
    }}@覆盖
公共无效onerror的(DialogError E){
    // TODO自动生成方法存根
    的System.out.println(错误:+ e.getMessage());
}@覆盖
公共无效onFacebookError(FacebookError E){
    // TODO自动生成方法存根
    的System.out.println(错误:+ e.getMessage());}公共无效的onClick(视图v){
    如果(V == FB){
        facebookClient =新的Facebook(APP_ID);
        // facebookClient =新的Facebook(APP_ID);
        //换成你自己APP_API_ID
        facebookClient.authorize(这一点,新的String [] {publish_stream
                read_stream,offline_access},这一点);
    }
}公共无效whenFb pressed(){
    facebookClient =新的Facebook(APP_ID);
    // facebookClient =新的Facebook(APP_ID);
    //换成你自己APP_API_ID
    facebookClient.authorize(这一点,新的String [] {publish_stream
            read_stream,offline_access,电子邮件},这一点);}


解决方案

  / *这是用户定义的获取当前用户firstnam和姓氏方法* /公共无效的getUser(){    尝试{
        JSONObject的JSON = Util.parseJson(mFacebook.request(ME));
        字符串facebookID = json.getString(ID);
        字符串的firstName = json.getString(FIRST_NAME);
        字符串的lastName = json.getString(姓氏);
        mFirstName =名字;
        mLastName = lastName的;
        mText.setText(您的登录:。+ mFirstName + + mLastName);
        的System.out.println(名字>>中的firstName + +姓氏>>+ lastName的);
    }赶上(例外五){
        // TODO:处理异常
    }赶上(FacebookError FBE){    }
}

Hey guys I am able to login the user to its facebook account and post a content on his profile. But what i am not able to do is get facebook users information. I dont know where is the access token which if given by facebook for a session. I am using fbConnect.jar and adding it in my lib folder and build path Following is the code i am using :-

private Facebook facebookClient;
String information;
Button fb;
//** Called when the activity is first created. *//*
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    fb = (Button)findViewById(R.id.fb);
    fb.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
        whenFbPressed();

        }
    });



}


@Override
public void onCancel() {
    // TODO Auto-generated method stub

}

@Override
public void onComplete(Bundle values) {
    // TODO Auto-generated method stub

    if (values.isEmpty()) {
        return;
    }

    if (!values.containsKey("post_id")) {
        try {
            Bundle parameters = new Bundle();
            parameters
                    .putString("message", "is Listening to  " );// the

              parameters.putString("attachment",
              "{\"name\":\"My Test Image\"," + "\"href\":\"" +
              "http://www.google.com" + "\"," +
              "\"media\":[{\"type\":\"image\",\"src\":\"" +
              "http://www.google.com/logos/mucha10-hp.jpg" +
              "\",\"href\":\"" + "http://www.google.com" + "\"}]" + "}");

            parameters.putString("attachment", "{\"name\":\"" + "Abhishek"
                    + "\"," + "\"href\":\"" + "www.google.com" + "\"}]" + "}");

            facebookClient.dialog(this, "stream.publish", parameters, this);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

}

@Override
public void onError(DialogError e) {
    // TODO Auto-generated method stub
    System.out.println("Error: " + e.getMessage());
}

@Override
public void onFacebookError(FacebookError e) {
    // TODO Auto-generated method stub
    System.out.println("Error: " + e.getMessage());

}

public void onClick(View v) {
    if (v == fb) {
        facebookClient = new Facebook("App_ID");
        // facebookClient = new Facebook("App_ID");
        // replace APP_API_ID with your own
        facebookClient.authorize(this, new String[] { "publish_stream",
                "read_stream", "offline_access" }, this);
    }
}

public void whenFbPressed(){
    facebookClient = new Facebook("App_ID");
    // facebookClient = new Facebook("App_ID");
    // replace APP_API_ID with your own
    facebookClient.authorize(this, new String[] { "publish_stream",
            "read_stream", "offline_access","email" }, this);

}

解决方案

/* this is user defined method  to fetch current user firstnam and last name */

public void getUser(){

    try{
        JSONObject json = Util.parseJson( mFacebook.request("me"));
        String facebookID = json.getString("id");
        String firstName = json.getString("first_name");
        String lastName = json.getString("last_name");
        mFirstName=firstName;
        mLastName=lastName;
        mText.setText("You are logged in : "+mFirstName+"."+mLastName);
        System.out.println("Firstname>>"+firstName+" LastName>>"+lastName);
    }catch (Exception e) {
        // TODO: handle exception
    }catch(FacebookError fbe){

    }
}

这篇关于获取Facebook的用户数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆