我正在开发使用 android 获取 facebook 好友列表的代码。我有活跃的会话(facebook)。我可以从 Session 中获取好友列表吗?如果没有,那么简单的方法是什么?
我正在使用 facebook sdk 3.0
获得基本权限后即可查询图表。 https://graph.facebook.com/me/friends?access_token=xxxxxx
作为 Facebook Hackbook 示例,如果您有一个 Facebook 对象的活动会话,则使用给定的代码来获取好友列表
this.dialog = ProgressDialog.show(context, "",
"Please Wait", true, true);
String query = "select name, current_location, uid, pic_square from user where uid in (select uid2 from friend where uid1=me()) order by name";
Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", query);
Utility.mAsyncRunner.request(null, params,
new FriendsRequestListener(context,
this.dialog));
FriendsRequestListener 类
class FriendsRequestListener extends BaseRequestListener {
private Context context;
private String graph_or_fql;
private ProgressDialog dialog;
public FriendsRequestListener(Context context , ProgressDialog dialog) {
// TODO Auto-generated constructor stub
this.context = context;
this.dialog = dialog;
}
@Override
public void onComplete(final String response, final Object state) {
dialog.dismiss();
jsonArray = new JSONArray(apiResponse);
// this is the response of the Friend list in json format, set the jsonArray to List.
}
public void onFacebookError(FacebookError error) {
dialog.dismiss();
Toast.makeText(context, "Facebook Error: " + error.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
在FriendsRequestListener类的onComplete中,您可以获得好友列表的 jsonArray。希望这对您有用/对您有帮助
您应该查看 Request 类,特别是Request.newMyFriendsRequest方法。