【发布时间】:2013-04-25 22:31:55
【问题描述】:
在我的应用中,我正在使用新的 facebook SDK (3)。从主 Activity 用户可以点击不同的按钮,点击后新的 Activity 会启动并显示不同的列表:一个是消息,第二个是好友请求,第三个是通知。前两种情况一切正常,但是当我想通过发出 graphpath 请求来显示通知时:
Request.executeGraphPathRequestAsync(session, "me/notifications?include_read=true",
new Request.Callback() {}
我得到一个错误:
{响应:responseCode:400,graphObject:空,错误:{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。
【问题讨论】:
-
您的评估是正确的 - 您需要提供访问令牌。你试过什么?
-
没什么,不知道怎么在一个activity中保存access Token,然后在另一个activity中打开
-
更具体地说,我知道有一个带有“getToken()”方法的“AccessToken”类,但是我不知道如何使用它(创建它)。比我假设我必须保存访问令牌,我获得了我在第二个活动中使用此方法“Session.openActiveSessionWithAccessToken(context, accessToken, callback)”打开它
-
SDK v3 不再需要直接处理访问令牌。只需通过会话,它应该可以工作。由于 Session.getActiveSession() 是静态的,因此您可以从任何活动中访问它。
-
但是当我使用 Session.getActiveSession 时它不起作用我无法阅读通知(适用于 read_mailbox、read_requests),我收到一个错误:必须使用活动访问令牌来查询信息关于当前用户
标签: android facebook facebook-graph-api facebook-access-token