- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 JAVA 编写了一个小脚本,它在查询 时用四个不同的值(10、100、1000 和 10000)测试参数 limit
>用户的 Facebook 新闻提要 使用 Open Graph API 和 RestFB client .正如您将看到的,它有一个奇怪的行为...
场景:
public static void main(String[] args) {
// vars
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
FacebookClient client = new DefaultFacebookClient(accessToken);
Connection<Post> home;
List<Post> postList;
Map<String, Post> postMap;
int i;
// limits to test
String[] limits = {"10", "100", "1000", "10000"};
for (String limit : limits) {
// init list and map (looking for duplicate posts)
postList = new LinkedList<Post>();
postMap = new LinkedHashMap<String, Post>();
// get news feed
home = client.fetchConnection(id + "/home", Post.class, Parameter.with("limit", limit));
// going through pages
i = 1;
for (List<Post> page : home) {
for (Post post : page) {
// store into list
postList.add(post);
// store into map (unique post id)
postMap.put(post.getId(), post);
}
i++;
}
// sort posts by created time
Collections.sort(postList, new Comparator<Post>() {
@Override
public int compare(Post post1, Post post2) {
return post1.getCreatedTime().compareTo(post2.getCreatedTime());
}
});
// log
try {
FileWriter out = new FileWriter("log/output.txt", true);
out.write("LIMIT: " + limit + "\n");
out.write("\tPAGES: " + (i - 1) + "\n");
out.write("\tLIST SIZE: " + postList.size() + "\n");
out.write("\tMAP SIZE: " + postMap.size() + "\n");
out.write("\tOLDER POST: " + dateFormat.format(postList.get(0).getCreatedTime()) + "\n");
out.write("\tYOUGNER POST: " + dateFormat.format(postList.get(postList.size() - 1).getCreatedTime()) + "\n");
out.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
输出:
LIMIT: 10
PAGES: 7
LIST SIZE: 56
MAP SIZE: 56
OLDER POST: 2009-03-22 14:58:03
YOUGNER POST: 2012-05-11 15:48:49
LIMIT: 100
PAGES: 3
LIST SIZE: 174
MAP SIZE: 172
OLDER POST: 2012-01-12 23:01:34
YOUGNER POST: 2012-05-11 15:48:49
LIMIT: 1000
PAGES: 2
LIST SIZE: 294
MAP SIZE: 292
OLDER POST: 2009-03-22 14:58:03
YOUGNER POST: 2012-05-11 15:48:49
LIMIT: 10000
PAGES: 2
LIST SIZE: 294
MAP SIZE: 292
OLDER POST: 2009-03-22 14:58:03
YOUGNER POST: 2012-05-11 15:48:49
解释和问题:
显然,您无法获取用户自帐户创建以来在其动态消息中发布的所有帖子。 limit有限制吗?
limit
为 100、1000 和 10000,我必须在整个返回的新闻提要中每次都有两个重复的帖子 (174 - 172 = 194 - 192)。为什么?我从未在我的个人动态消息中看到同一篇帖子两次...
limit
为(且仅)为 100,我得到的旧帖子是在 2012 年创建的,同时 limit
的其他值使检索 2009 年创建的帖子的查询。我可以理解,使用上限 limit
(1000 或 10000),查询检索较旧的帖子。但是,为什么 limit
为 10 会使查询检索到比限制为 100 的查询更早的帖子?
最后但并非最不重要的一点:我没有收到相同数量的帖子。显然,limit
越高,检索到的帖子数就越多。我首先想到的是,较小的 limit
的唯一结果是页面数量增加(尽管如此),但检索到的帖子数量不会改变。但确实如此。为什么?也就是说,帖子数似乎收敛于 limit
100 和 1000 之间,因为帖子数与 limit
1000 和 limit 相同
共 10000 个。
PS:为查询指定一个 since
和/或一个 until
参数不会改变任何东西。
欢迎任何回答/评论:)
干杯。
编辑:
这是我最好的recall :
LIMIT: 200
PAGES: 3
LIST SIZE: 391
MAP SIZE: 389
OLDER POST: 2012-01-27 14:17:16
YOUGNER POST: 2012-05-11 16:52:38
为什么是 200?是否在 documentation 中的任何位置指定?
最佳答案
它不在文档中,但我个人已经为我的项目测试了以下内容。
Facebook limit
限制为 500 个帖子。无论您将限制设置为高于 500,它最多只能获取 500 个结果。尝试使用 500 个(或更多),您将获得最多的帖子。
您不会每次都获得 500 个帖子,但通常会获得 490 个以上的帖子。一些帖子因各种原因(如隐私、被屏蔽的用户、不适合特定区域和其他原因)而被过滤
这回答了您的第一个和第四个问题。
对于问题号。 2,我不在java中工作,所以我不能说你的代码/逻辑中是否有问题或者你的代码在做什么。
对于问题号。 3、天佑facebook!
编辑
对于第 4 个问题,您可能会达到图形 API 的查询/小时限制(Facebook 使用它来防止垃圾邮件,您不能快速连续地频繁查询 API)
此外,
这就是为什么您没有得到 facebook 返回的所有结果的原因。
(if you specified a limit of “5” but the five posts returned are not visible to the viewer, you will get an empty result set.)
In addition to the limits mentioned in the documentation for each of the tables and connections listed above, it is helpful to know that the maximum number of results we will fetch before running the visibility checks is 5,000.
引用:Paging with graph api and fql
此外,对于特定表格的结果数量也有限制。您可以在各自的 fql 表中获得有关它们的详细信息。
对于流表(用于帖子/提要的表),
Each query of the stream table is limited to the previous 30 days or 50 posts, whichever is greater, however you can use time-specific fields such as created_time along with FQL operators (such as < or >) to retrieve a much greater range of posts.
关于Facebook 开放图谱 API : weird behavior of parameter limit while getting a paginated user's news feed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10553510/
我尝试从 PDF 文件复制文本,但得到一些奇怪的字符。奇怪的是,Okular 可以识别文本,但不能识别 Sumatra PDF 或 Adobe,这三个应用程序都安装在 Windows 10 64
有人发现我的这个正则表达式有问题吗?我想要的只是找到任何出现的 并将其替换为用户选择的单词。这个表达式只改变一些出现的情况,当它改变时,它会删除前面的空格,我猜想将它与前面的单词连接起来。而且它也不应
数据带有奇怪的字符,例如 FS – Bronze FS – Gold FS – Silver FS – Wood FS – Bronze FS â€â€
我正在尝试创建一个给定字符串的函数,它会像下面所示那样处理该字符串,并修改结构变量的值。用简单的语言来说,给定一个字符串,它会修改变量的坐标。 typedef struct coo { int
什么意思: GLuint bindingPoint = 1, buffer, blockIndex; 我在一个我需要的教程中找到了这个,我以前从未见过这样的变量初始化。 这行是什么意思 GLuint
我有这个 A / \ B C \ / D A 有一个纯虚函数,原型(prototype)为: virtual A* clone(void) const = 0
我正在处理一个非常简单的问题,涉及设计分支。 请容忍我,而我用模糊的术语描述情况。 我有一个实体,称为 EntityA: EntityA{ attr1 : type1; attr2 : t
这里没什么太严肃的,只是好奇。 我想举个例子,想出了这段代码: const { Observable, Subject } = Rx const timeout$ = new Subject() co
这里没什么太严肃的,只是好奇。 我想举个例子,想出了这段代码: const { Observable, Subject } = Rx const timeout$ = new Subject() co
我在处理集成服务时遇到了一个奇怪的错误。 我的数据流包括: -> DESTINATION SOURCE -> SCRI
我在一个带有 Hibernate 的项目中使用 JPA,并且需要在纯 JDBC 级别上执行一些操作,因此我使用此方法来获取与数据库的连接: public class ConnectionUtil {
我有时会在(MySQL)数据库中看到我不明白其含义的值。这是一个例子: a:26:{i:0;s:2:"22";i:1;s:2:"24";i:2;s:1:"2";i:3;s:2:"26";i:4;s:1
我正在研究 Java 线程,我编写了这个创建多个线程并运行它们的小程序。在每个线程中,一个值会递增多次。我使用了 ThreadLocal 类,这样就不会出现资源争用。 来源: class MyValu
我正在用 C++ 构建一个模拟,我有一个指数生成器来生成进程的突发时间。 通常它会返回这样的值:3.14707,1.04998。但经常有 1/10 的情况出现这样的数字:2.64823e-307 这是
这是一个 fiddle : http://jsfiddle.net/e80fen4p/2/ 编辑:您可以突出显示所有结果 div,您会看到颜色变回它们应有的颜色。我猜这没有解决办法。如果仅通过突出显示
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在尝试一种基于指标的算法,称为 taxicab metric .然后我的目标是创建一个简单的例子,你有一个简单的 3x3 矩阵,在第一个位置你有 1。从中你计算其他位置的距离,如下所示: 1 2
我有以下项目设置 .... ├── lira │ ├── __init__.py │ ├── admin.py │ ├── ajax.py │ ├── authentication.p
如果我有一个正常的网站,这将是一个足够简单的修复...但我已经在 tumblr 上建立了我的网站,所以我需要一个解决方法。每个页面都使用相同的代码,因此任何解决方案脚本都将在每个页面上运行.. 不太明
var t = [-12, 57, 22, 12, -120, -3]; t.map(Math.abs).reduce(function(current, previousResult) {
我是一名优秀的程序员,十分优秀!