我正在尝试在我的Android应用程序(我已经集成了facebook)中检索登录用户的个人信息。
为此,我有2 buttons
:
Button tweet = (Button) findViewById(R.id.btn_post);
Button information = (Button) findViewById(R.id.btn_information);
按下时的第一个按钮会执行如下登录:
tweet.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
postMessage();
}
});
postMessage()
的样子:
public void postMessage() {
if (facebookConnector.getFacebook().isSessionValid()) {
postMessageInThread();
} else {
SessionEvents.AuthListener listener = new SessionEvents.AuthListener() {
@Override
public void onAuthSucceed() {
postMessageInThread();
}
@Override
public void onAuthFail(String error) {
}
};
SessionEvents.addAuthListener(listener);
facebookConnector.login();
}
}
记录后,我有第二个button-information
information.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Bundle params = new Bundle();
String accessToken = mFacebook.getAccessToken();
try
{
params.putString("format", "json");
params.putString("access_token", accessToken);
String url = "https://graph.facebook.com/me";
String response = Util.openUrl(url, "GET", params);
try{
JSONObject json = Util.parseJson(response);
String name = json.getString("name");
String fname = json.getString("first_name");
}
catch(FacebookError e){
e.printStackTrace();
}
}
catch(Exception e)
{
}
}
});
按下按钮信息时,我想检索name
和first_name
等个人用户信息。
我尝试使用以下方法检索用户的个人信息:
"https://graph.facebook.com/me".
但是当我按下第二个按钮时没有任何反应。有人告诉我我哪里出错了吗?
答案 0 :(得分:0)
确保您拥有downloaded the latest version。当您登录并将AuthenticationToken
存储到SharedPreferences
时。
然后使用"me"
类request()
类的Facebook
函数调用String resp = facebookConnector.getFacebook().request("me");
JSONObject me = Util.parseJson(resp);
String name = json.getString("name");
String fname = json.getString("first_name");
。
"me"
您必须将Util
字符串添加到请求中,剩余的网址将由其{{1}}类自动添加。