Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从facebook graph API获取列表_Android_Facebook_List_Facebook Graph Api - Fatal编程技术网

Android 如何从facebook graph API获取列表

Android 如何从facebook graph API获取列表,android,facebook,list,facebook-graph-api,Android,Facebook,List,Facebook Graph Api,我正在尝试使用graph api从facebook活动中获取与会者,我已经搜索了许多 网站,但仍然没有线索如何获得“数据”列表。有人能解释一下我怎样才能得到这份名单吗 我在graph api explorer上测试了facebook事件编号: 解决方案 新请求( 一场 “/”+event.getEvent()+“/出席”, 无效的 HttpMethod.GET, 新的Request.Callback(){ 未完成公共无效(响应){ 试一试{ GraphObject GraphObject=res

我正在尝试使用graph api从facebook活动中获取与会者,我已经搜索了许多
网站,但仍然没有线索如何获得“数据”列表。有人能解释一下我怎样才能得到这份名单吗

我在graph api explorer上测试了facebook事件编号:

解决方案
新请求(
一场
“/”+event.getEvent()+“/出席”,
无效的
HttpMethod.GET,
新的Request.Callback(){
未完成公共无效(响应){
试一试{
GraphObject GraphObject=response.getGraphObject();
JSONObject JSONObject=graphObject.getInnerJSONObject();
Log.d(“数据”,jsonObject.toString(0));
JSONArray数组=jsonObject.getJSONArray(“数据”);
ArrayList Attendes=新建ArrayList();

对于(int i=0;i更新

我误解了你的问题;你可以执行请求,但你不知道如何处理JSON响应,对吗?我没有直接的Java/Android知识,但这对谷歌来说一定很容易


您可以在Graph API上请求以下内容:

/v2.2/{event id}/出席

如文件所述,涉及到以下权限:

  • 任何访问令牌都可用于检索隐私设置为的事件 打开
  • 用户访问令牌可用于检索任何已删除的事件 对那个人可见
  • 应用程序或页面令牌可用于检索 由该应用程序或页面创建的任何事件

上述三项中的哪一项适用于您的情况(例如,事件的设置是什么,您有什么类型的访问令牌)?

我应该从json响应中获得一个列表,但我不知道如何实现这一点。我尝试制作的应用程序应该分类在“任何访问令牌”下类别。似乎我能够解决我自己的问题。尽管如此,我还是非常感谢您抽出时间回答。
public class DetailActivity extends Activity {

private DatabaseHelper db;
private Session session;
private ListView attending;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail);

    Bundle extras = getIntent().getExtras();
        int tdId = extras.getInt("tdId");

    db = new DatabaseHelper(this);
    Event event = db.getEvent(tdId);

    TextView name = (TextView)findViewById(R.id.tdName);
    name.setText(event.getName());

    String tdDate;
    String datestring;
    SimpleDateFormat simple = new SimpleDateFormat("dd MMM yy");

    datestring = simple.format(event.getDate());
    tdDate = String.format(datestring);

    TextView date = (TextView)findViewById(R.id.tdDate);
    date.setText(tdDate);

    TextView place = (TextView)findViewById(R.id.tdPlace);
    place.setText(event.getPlace());



    new Request(
            session,
            "/" + event.getEvent() + "/attending",
            null,
            HttpMethod.GET,
            new Request.Callback() {
                public void onCompleted(Response response) {

                /* handle the result */


                }
            }
    ).executeAsync();

}

}
new Request(
            session,
            "/" + event.getEvent() + "/attending",
            null,
            HttpMethod.GET,
            new Request.Callback() {
                public void onCompleted(Response response) {


                    try{
                        GraphObject graphObject = response.getGraphObject();
                        JSONObject jsonObject = graphObject.getInnerJSONObject();
                        Log.d("data", jsonObject.toString(0));

                        JSONArray array = jsonObject.getJSONArray("data");
                        ArrayList<Attendee> attendees = new ArrayList<Attendee>();
                        for(int i=0;i<array.length();i++){

                            JSONObject attendee = array.getJSONObject(i);



                            Attendee attendeeNew = new Attendee(0, attendee.getString("name"),attendee.getString("rsvp_status"), attendee.getString("id"));
                            attendees.add(attendeeNew);

                        }
                        ArrayAdapter<Attendee> adapter = new ArrayAdapter<Attendee>(DetailActivity.this, android.R.layout.simple_list_item_1, attendees);

                        final ListView listViewAttending =
                                (ListView) findViewById(R.id.attending);
                        listViewAttending.setAdapter(adapter);

                    }catch(JSONException e){
                        e.printStackTrace();
                    }


                }
            }
    ).executeAsync();