在我的应用中,我正在使用新的facebook SDK(3)。从新的活动用户开始后,可以从主要活动用户单击不同的按钮,并显示不同的列表:一个包含消息,第二个包含好友请求,第三个包含通知。在前两种情况下一切正常,但是当我想通过发出graphpath请求来显示通知时:

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


我收到一个错误:


  {Response:responseCode:400,graphObject:null,error:{HttpStatus:
  400,错误代码:2500,错误类型:OAuthException,错误消息:An
  活动访问令牌必须用于查询有关
  当前用户。},isFromCache:false}


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



我找到了解决方案,只是我们无法将诸如“ include_read = true”之类的参数直接添加到graphpath请求中,我们必须使用以下参数创建一个新的Request对象:会话,httpmethod,参数,graphpath,回调。

最佳答案

感谢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;
   }

09-11 22:54