首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在RestFB中使用页面访问令牌查找

无法在RestFB中使用页面访问令牌查找
EN

Stack Overflow用户
提问于 2016-08-30 03:40:36
回答 2查看 568关注 0票数 0

我必须开发一个自动的过程来获取我的Facebook页面洞察力。因为,用于身份验证的访问令牌本质上是临时的。因此,我创建了一个Facebook应用程序,通过提供所有必需的权限,我生成了一个页面访问令牌,这样我就可以延长它的生命周期。参考链接:Java + RestFB API: Getting fresh Page Access Token without messing with AppID, appSecret

以下是我的代码:

代码语言:javascript
运行
复制
    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,从而延长它的生命周期,这样我就可以用它生成一个自动化的过程。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-30 09:26:03

你一个人问了两个问题。

  1. 扩展访问令牌:首先,您需要用户访问令牌。而不是扩展它(查看RestFB手册:http://restfb.com/documentation/#access-token-extend),并从/me/accounts获取页面访问令牌。页面访问令牌具有无限的生存期。
  2. OAuthException:如果您查看异常的错误消息,您应该会发现缺少度量。你得告诉Facebook你想要什么指标。检查Graph引用以获得有效的度量:https://developers.facebook.com/docs/graph-api/reference/v2.7/insights
票数 0
EN

Stack Overflow用户

发布于 2016-08-30 12:53:03

最后,我成功地使用了延长寿命的“页面访问令牌”来提取Page数据。

下面是向Facebook发出适当请求的片段:

代码语言:javascript
运行
复制
Connection<Insight> insights =fbclient.fetchConnection("1388062484542431/insights/page_views/day", Insight.class,Parameter.with("since", "2016-08-01"),Parameter.with("until", "2016-08-30"));

如果需要传递多个度量,那么我们可以通过传递所需度量的逗号分隔的名称来实现。

谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39218417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档