我必须开发一个自动的过程来获取我的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”是通过上述链接获得的短寿命页面访问令牌。
下面是我得到的例外堆栈:
线程“主”com.restfb.exception.FacebookOAuthException中的异常:接收OAuthException类型的Facebook错误响应:无效查询(代码3001,在com.restfb.DefaultFacebookClient$DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage(DefaultFacebookClient.java:1191) at com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary(DefaultFacebookClient.java:1117) at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:1058) at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:969) at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:931) at com.restfb.DefaultFacebookClient.fetchConnection(DefaultFacebookClient.java:356) at Main.main(Main.java:31)
请帮助我使用process令牌找到Page,从而延长它的生命周期,这样我就可以用它生成一个自动化的过程。谢谢!
发布于 2016-08-30 09:26:03
你一个人问了两个问题。
发布于 2016-08-30 12:53:03
最后,我成功地使用了延长寿命的“页面访问令牌”来提取Page数据。
下面是向Facebook发出适当请求的片段:
Connection<Insight> insights =fbclient.fetchConnection("1388062484542431/insights/page_views/day", Insight.class,Parameter.with("since", "2016-08-01"),Parameter.with("until", "2016-08-30"));
如果需要传递多个度量,那么我们可以通过传递所需度量的逗号分隔的名称来实现。
谢谢。
https://stackoverflow.com/questions/39218417
复制相似问题