我正在使用Java Twitter应用程序(使用Twitter4J API)。我已经创建了该应用程序,可以查看当前用户的时间表,用户的配置文件等。

但是,当使用该应用程序时,它似乎很快就超过了Twitter客户端设置的150个请求(我知道开发人员可以将其增加到给定帐户的350个,但对于其他用户而言,这并不能解决)。

当然,这不会影响所有客户,关于如何解决这个问题的任何想法?

有人知道什么是请求吗?例如,当我查看用户配置文件时,我加载用户对象(Twitter4J),然后获取屏幕名,用户名,用户描述,用户状态等以放入JSON对象 - 这是一个单个调用以获取对象还是包括所有用户。

提前致谢

有帮助吗?

解决方案

您确实需要跟踪与Twitter打交道时当前的请求数量。

但是,Twitter似乎并没有丢弃304的数量未经修改(至少不是我上次处理它),因此请确保没有什么可以打破您对HTTP缓存的正常使用和实际请求的东西每小时上升。

请注意,Twitter在Apache上的MOD_GZIP中遭受了一个错误,在此,E-TAG在更改它以反映了内容编码与非gz z式实体的编码不同(这是正确的事情,这是正确的,有只是实现中的一个错误)。因此,接受Twitter的GZZ内容意味着它永远不会发送304,这增加了您的请求计数,并且在许多情况下,它会破坏使用GZIP的效率提高。

因此,如果您接受Gzip(默认情况下您的网络图书馆可能会这样做,请查看您可以使用Fiddler这样的工具看到的内容,我是一个只有一些Java知识的.NET家伙,并以Twitter的方式回答处理HTTP,因此我不知道Java Web库的详细信息),尝试将其关闭,看看它是否改善了事情。

其他提示

从Twitter的服务器(即称为HTTP GET的任何内容)读取几乎每种类型的读取)是一个请求。获取用户时间表,转发,直接消息,获取用户数据都为每个请求。几乎唯一可以从服务器读取的Twitter API调用而无需计算API限制的情况是检查速率限制状态。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top