【发布时间】:2016-08-30 03:40:36
【问题描述】:
我必须开发一个自动化流程来获取我的 Facebook 页面见解。因为,用于身份验证目的的访问令牌本质上是临时的。因此,我创建了一个 Facebook 应用程序,并通过提供所有必需的权限生成了一个页面访问令牌,以便我可以延长它的生命周期。 参考链接:Java + RestFB API: Getting fresh Page Access Token without messing with AppID, appSecret
以下是我的一段代码:
FacebookClient fb=new DefaultFacebookClient(accesstoken,Version.VERSION_2_7);
Connection<Insight> insights =fb.fetchConnection("119456244790112/insights", Insight.class,Parameter.with("since", "2016-08-01"),Parameter.with("until", "2016-08-27"));
for (Insight insight : insights.getData())
if(insight.getName().equals("page_impressions") && (insight.getPeriod().equals("day")) )
System.out.println(insight.getName()+"\t"+insight.getPeriod()+"\t"+insight.getValues());
'accesstoken'是通过上述链接获得的短期Page access-token。
以下是我得到的异常堆栈:
线程“main”中的异常 com.restfb.exception.FacebookOAuthException:收到 Facebook 错误 OAuthException 类型的响应:无效查询(代码 3001,子代码 1504028) 在 com.restfb.DefaultFacebookClient$DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage(DefaultFacebookClient.java:1191) 在 com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary(DefaultFacebookClient.java:1117) 在 com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:1058) 在 com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:969) 在 com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:931) 在 com.restfb.DefaultFacebookClient.fetchConnection(DefaultFacebookClient.java:356) 在 Main.main(Main.java:31)
请帮助我使用页面访问令牌找到页面洞察,从而延长它的生命周期,以便我可以由此产生一个自动化的过程。谢谢!
【问题讨论】: