通过Access Token facebook 3 for Android

时间:2013-04-25 22:31:55

标签: android facebook facebook-graph-api facebook-access-token

在我的应用程序中,我正在使用新的facebook SDK(3)。从主Activity中,用户可以单击不同的按钮,在单击新的Activity后,显示不同的列表:一个包含消息,第二个包含朋友请求,第三个包含通知。前两种情况下一切正常,但是当我想通过提出如下的图形路径请求来显示通知时:

Request.executeGraphPathRequestAsync(session, "me/notifications?include_read=true",
                new Request.Callback() {}

我收到错误:

  

{响应:responseCode:400,graphObject:null,错误:{HttpStatus:   400,errorCode:2500,errorType:OAuthException,errorMessage: An   必须使用活动访问令牌来查询有关的信息   当前用户。},isFromCache:false}

我已经要求读取权限(read_mailbox,read_requests)和发布权限(manage_notifications)。我想我必须通过通知列表将访问令牌传递给我的活动,但我不知道该怎么做,谢谢你的帮助

解决方案

我找到了解决方案,只是我们不能将诸如“include_read = true”之类的参数直接放到graphpath请求中,我们必须使用以下参数创建一个新的Request对象:session,httpmethod,parameters,graphpath,callback。

1 个答案:

答案 0 :(得分:1)

感谢Janek回答您自己的问题,因为您提到参数需要单独发送而不是作为graphPath的一部分发送,我只是发布了一个解决方案示例,以防有人遇到同样的问题:

new Request(session, "me", getRequestParameters(), null, new Request.Callback() { ... }).executeAsync();

   private Bundle getRequestParameters() {
      Bundle parameters = new Bundle(1);
         parameters.putString("fields", "id,name,first_name,last_name,gender,picture");
         return parameters;
   }