无法获取CategorizedFacebookType

时间:2012-02-29 14:22:09

标签: facebook-graph-api restfb

我有一个我大约一年前开发的应用程序而且我是 像这样获取Facebook帐户:

facebookClient = new DefaultFacebookClient(access_token);
Connection<CategorizedFacebookType> con = facebookClient.fetchConnection("me/accounts", CategorizedFacebookType.class);
fbAccounts = con.getData();

直到大约一个月前它才能正常工作,但现在又回归了 fbAccounts列表为空。那是为什么?

我希望从restfb-1.6.2.jar转到restfb-1.6.9.jar会 帮助但没有运气,两者都空了。

我错过了什么?

编辑,提供我在此API中遇到的其他错误的代码。以下代码用于工作:

String id = page.getFbPageID(); // (a valid facebook page id)
FBInsightsDaily daily = new FBInsightsDaily(); // an object holding some insights values

try {
    Parameter param = Parameter.with("asdf", "asdf"); // seems like the param is required
    JsonObject allValues = facebookClient.executeMultiquery(createQueries(date, id), JsonObject.class, param);
    daily.setPageActiveUsersDaily((Integer)(((JsonArray)allValues.opt("page_active_users_daily")).getJsonObject(0)).opt("value"));
    ...

这会引发以下异常:

com.restfb.json.JsonException: JsonArray[0] not found.
at com.restfb.json.JsonArray.get(JsonArray.java:252)
at com.restfb.json.JsonArray.getJsonObject(JsonArray.java:341)

再次,这曾经工作正常,但现在抛出这个。

1 个答案:

答案 0 :(得分:1)

您需要用户的manage_pages权限才能访问其管理页面列表 - 一年前我不确定您是否这样做 - 检查您是否从用户那里获得了该权限

{编辑} 一些见解指标也已弃用,您检查的具体值可能不再存在 - https://developers.facebook.com/docs/reference/fql/insights/应该包含现在可用内容的详细信息

尝试在Graph API Explorer中手动检查您的查询,以消除代码中的任何问题,并希望获得您的SDK可能会吞咽的更详细的错误消息