题
我有一个我在一年前开发的应用程序,我是 获取这样的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)
.
再次,这用于工作正常,但现在抛出这个。
解决方案
您需要从用户获取的manage_pages
权限访问他们的管理页面列表 - 一年前我不确定您是否确实 - 检查您从用户获取该权限
{编辑} 一些洞察力指标也被弃用,您正在检查的特定值可能不再存在 - https://developers.facebook.com/docs/reference/fql/insights/ 应该有现在可用的详细信息
不隶属于 StackOverflow