从Facebook获取用户的事件列表

时间:2013-07-27 11:41:10

标签: facebook facebook-fql

我必须获取Android中我的应用程序中登录的当前用户的事件列表,并且我正在使用此代码来提取列表:

  String fqlQuery = "SELECT eid, name, pic, creator, start_time FROM event WHERE eid IN " + " (SELECT eid FROM event_member WHERE uid = me() LIMIT 25)";
        Bundle params = new Bundle();
          params.putString("q", fqlQuery);
          Session session = Session.getActiveSession();
          Request request = new Request(session,
              "/fql",                         
              params,                         
              HttpMethod.GET,                 
              new Request.Callback(){         
                  public void onCompleted(Response response) {
                      Log.i(TAG, "Result: " + response.toString());
                  }                  
          }); 
          Request.executeBatchAsync(request);                 
      }

但我总是得到空白的结果集。请让我知道我在这里失踪了什么。我是新手,并试图从Facebook开发人员指南中学习。

我正在使用我的应用程序的权限:

  • 默认活动隐私权:公开
  • 用户&朋友权限:user_events friends_events
  • 验证令牌参数:queryString

1 个答案:

答案 0 :(得分:1)

这不是您设置权限的地方,这适用于App Center。该页面顶部有一个注释。

使用这些设置输入您的应用在App Center中显示时所需的权限集

您需要在Android代码中添加权限范围

  

Android登录使用LoginButton类上的setReadPermissions和setPublishPermissions。

https://developers.facebook.com/docs/facebook-login/permissions/#adding

例如在Android登录教程

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setFragment(this);
authButton.setReadPermissions(Arrays.asList("user_events", "friends_events"));

https://developers.facebook.com/docs/howtos/androidsdk/3.0/login-with-facebook/#step3