[英]sync facebook friends birthdays with my android app
我正在编写一个日历应用程序,其中,我正在将我所有Facebook朋友的列表及其姓名,DOB和个人资料图片提取到我的日历中。 我怎么能得到所有这些。 请帮我。
首先创建对象并为facebook验证:
private static String FACEBOOK_APP_ID = "492429660800628";
private Facebook facebook;
private AsyncFacebookRunner mAsyncRunner;
在OnCreate方法之后:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_screen);
facebook = new Facebook(FACEBOOK_APP_ID);
mAsyncRunner = new AsyncFacebookRunner(facebook);
loginFacebook();//this method when called when you required..
}
private void loginFacebook() {
if (!facebook.isSessionValid()) {
facebook.authorize(this, new String[] { "email", "publish_stream",
"read_stream" }, new LoginDialogListener());
} else {
getProfileInformation();
}
}
class LoginDialogListener implements DialogListener {
public void onComplete(Bundle values) {
try {
getProfileInformation();
} catch (Exception error) {
Toast.makeText(LoginActivity.this, error.toString(),
Toast.LENGTH_SHORT).show();
}
}
public void onFacebookError(FacebookError error) {
Toast.makeText(LoginActivity.this,
"Something went wrong. Please try again.",
Toast.LENGTH_LONG).show();
}
public void onError(DialogError error) {
Toast.makeText(LoginActivity.this,
"Something went wrong. Please try again.",
Toast.LENGTH_LONG).show();
}
public void onCancel() {
Toast.makeText(LoginActivity.this,
"Something went wrong. Please try again.",
Toast.LENGTH_LONG).show();
}
}
登录Facebook后,请尝试以下方法:
public void getProfileInformation() {
try {
JSONObject profile = Util.parseJson(facebook.request("me"));
Log.e("Profile", "" + profile);
mUserId = profile.getString("id");
mUserToken = facebook.getAccessToken();
mUserName = profile.getString("name");
mUserEmail = profile.getString("email");
runOnUiThread(new Runnable() {
public void run() {
Log.e("FaceBook_Profile",""+mUserId+"\n"+mUserToken+"\n"+mUserName+"\n"+mUserEmail);
Toast.makeText(getApplicationContext(),
"Name: " + mUserName + "\nEmail: " + mUserEmail,
Toast.LENGTH_LONG).show();
}
});
} catch (FacebookError e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
使用来自developer.facebook链接 https://developers.facebook.com/docs/android/fetch-user-data/的最新facebook android SDK
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.