如何使用Hackbook例获得的Facebook好友近期生日 [英] How to get Facebook Friends Upcoming Birthdays using Hackbook Example
本文介绍了如何使用Hackbook例获得的Facebook好友近期生日的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用Facebook的Android开发者Hackbook例子,我想知道我怎么能得到Facebook好友近期生日,如:打开27今天,轮流在10月28日天等,使用 GraphAPI
或 FQL
公共类graphApiRequestListener扩展BaseRequestListener {
@覆盖
公共无效的onComplete(最后弦乐的反应,最终目标状态){
dialog.dismiss();
//访问令牌是由Facebook的对象追加,因此PARAMS是
//此处添加请求后完成
如果(!params.isEmpty()){
网址+ =? + Util.en $ C $卷曲(PARAMS); // PARAMS
}
metadataObject = NULL;
params.clear();
尝试 {
JSONObject的JSON = Util.parseJson(响应);
如果(json.has(元数据)){
metadataObject = json.getJSONObject(元数据);
json.remove(元数据);
} 其他 {
metadataObject = NULL;
}
的setText(json.toString(2));
}赶上(JSONException E){
的setText(e.getMessage());
e.printStackTrace();
}赶上(FacebookError E){
的setText(e.getMessage());
e.printStackTrace();
}
}
解决方案
使用Facebook的老SDK试试这个这里是一些code
Facebook的FB =新的Facebook(main.APP_ID);
SessionStore.restore(FB,mActivity);
mAsyncRunner =新AsyncFacebookRunner(FB);
字符串graphPath =我的/朋友;
捆绑bundle_friends =新包();
bundle_friends.putString(域,身份证,生日);
mAsyncRunner.paramsRequest(graphPath,bundle_friends,新AsyncRequestListener(mActivity){
@覆盖
公共无效的onComplete(JSONObject的OBJ,对象的状态){
尝试 {
JSONArray数据= obj.getJSONArray(数据);
的for(int i = 0; I< data.length();我++){
JSONObject的温度= data.getJSONObject(我);
如果(!temp.isNull(生日))
bundleForBirthdays.putString(temp.getString(ID),temp.getString(生日));
}
}赶上(JSONException E){
e.printStackTrace();
}
}
});
I am using Facebook Android Developers Hackbook example, I want to know how can I get Facebook Friends Upcoming Birthdays like: Turns 27 today, Turns 28 in 10 days and so on, using GraphAPI
or FQL
public class graphApiRequestListener extends BaseRequestListener {
@Override
public void onComplete(final String response, final Object state) {
dialog.dismiss();
// access token is appended by Facebook object, hence params are
// added here after request is complete
if (!params.isEmpty()) {
url += "?" + Util.encodeUrl(params); // Params
}
metadataObject = null;
params.clear();
try {
JSONObject json = Util.parseJson(response);
if (json.has("metadata")) {
metadataObject = json.getJSONObject("metadata");
json.remove("metadata");
} else {
metadataObject = null;
}
setText(json.toString(2));
} catch (JSONException e) {
setText(e.getMessage());
e.printStackTrace();
} catch (FacebookError e) {
setText(e.getMessage());
e.printStackTrace();
}
}
解决方案
Here some code using old SDK of facebook try this
Facebook fb = new Facebook(main.APP_ID);
SessionStore.restore(fb, mActivity);
mAsyncRunner = new AsyncFacebookRunner(fb);
String graphPath = "me/friends";
Bundle bundle_friends = new Bundle();
bundle_friends.putString("fields", "id,birthday");
mAsyncRunner.paramsRequest(graphPath, bundle_friends, new AsyncRequestListener(mActivity) {
@Override
public void onComplete(JSONObject obj, Object state) {
try {
JSONArray data = obj.getJSONArray("data");
for (int i = 0; i < data.length(); i++) {
JSONObject temp = data.getJSONObject(i);
if (!temp.isNull("birthday"))
bundleForBirthdays.putString(temp.getString("id"), temp.getString("birthday"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
这篇关于如何使用Hackbook例获得的Facebook好友近期生日的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文