[英]android get facebook username and id
i have very strange situetion. 我的情况很奇怪。 I 'm working facebook sdk in android. 我正在android中使用facebook sdk。 i wrote login code and also can check username and user id.but this code does not working when divice hase facebook application(i uninstalled it and then worked perfect) this is a my code 我写了登录代码,还可以检查用户名和用户ID。但是当设备有Facebook应用程序时,此代码不起作用(我先将其卸载,然后运行完美),这是我的代码
public void LoginFacebook() {
mFacebook.authorize(this, mPermissions, new LoginDialogListener());
}
private final class LoginDialogListener implements DialogListener {
public void onComplete(Bundle values) {
SessionStore.save(mFacebook, getApplicationContext());
getProfileInformation();
}
public void onCancel() {
SessionEvents.onLoginError("Action Canceled");
}
@Override
public void onFacebookError(FacebookError error) {
SessionEvents.onLoginError(error.getMessage());
}
@Override
public void onError(DialogError error) {
SessionEvents.onLoginError(error.getMessage());
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
@SuppressLint("SdCardPath")
public void getProfileInformation() {
mAsyncRunner.request("me", new BaseRequestListener() {
@SuppressLint("CommitPrefEdits")
@Override
public void onComplete(String response, Object state) {
final String json = response;
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
JSONObject profile = new JSONObject(json);
facebook_userid = profile.getString("id");
facebook_username = profile.getString("name");
facebook_username = facebook_username.replace(
"%20", " ");
editor.putString("fb_name", facebook_username);
editor.putString("fb_id", facebook_userid);
fb_name.setText(facebook_username);
getFacebookAvatar(facebook_userid);
editor.commit();
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
@Override
public void onIOException(IOException e, Object state) {
}
@Override
public void onFileNotFoundException(FileNotFoundException e,
Object state) {
}
@Override
public void onMalformedURLException(MalformedURLException e,
Object state) {
}
@Override
public void onFacebookError(FacebookError e, Object state) {
}
});
}
i have no idea what is a wrong. 我不知道怎么了。 if anyone knows solution please help me thanks 如果有人知道解决方案,请帮助我,谢谢
启用客户端深层链接,“单点登录”以及“ devlopers.facebook.com”上的“ OAuth登录”选项卡
You Can Do Like This. 您可以这样做。
public static void getuserdata() throws JSONException {
String Facebook = readT("https://graph.facebook.com/me?access_token="+mFacebook.getAccessToken()+"&fields=id,username)".replace(" ","%20"));
try
{
JSONObject jsonobj = new JSONObject(Facebook);
fb_id = jsonobj.getString("id");
fb_username = fb_fname+" "+fb_lname;
Log.e("..fb_username..........", fb_username);
}
catch (JSONException e)
{
e.printStackTrace();
}
} }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.