使用标记名从Tumblr获取所有帖子的java代码

使用标记名从Tumblr获取所有帖子的java代码,java,tags,fetch,tumblr,Java,Tags,Fetch,Tumblr,我尝试使用标签从Tumblr获取帖子 http://api.tumblr.com/v2/tagged?tag=hadoop&api_key=***** 我可以编写HTTP客户机,并可以获得json和相应的解析。但是我想知道一些信息,比如任何支持的TumblrJavaAPI来访问这个 我尝试了com.tumblr.jumblr.JumblrClient,但没有找到任何支持此要求的方法。有人能给我提些建议吗。如果我查看github中的jumblClient.java,我可以看到一个方法:

我尝试使用标签从Tumblr获取帖子

http://api.tumblr.com/v2/tagged?tag=hadoop&api_key=*****
我可以编写HTTP客户机,并可以获得json和相应的解析。但是我想知道一些信息,比如任何支持的TumblrJavaAPI来访问这个


我尝试了
com.tumblr.jumblr.JumblrClient
,但没有找到任何支持此要求的方法。有人能给我提些建议吗。

如果我查看github中的jumblClient.java,我可以看到一个方法:

/**
 * Tagged posts
 * @param tag the tag to search
 * @param options the options for the call (or null)
 * @return a list of posts
 */
public List<Post> tagged(String tag, Map<String, ?> options) {
    if (options == null) {
        options = Collections.emptyMap();
    }
    Map<String, Object> soptions = JumblrClient.safeOptionMap(options);
    soptions.put("api_key", apiKey);
    soptions.put("tag", tag);
    return requestBuilder.get("/tagged", soptions).getTaggedPosts();
}
/**
*标杆
*@param标记要搜索的标记
*@param options调用的选项(或null)
*@返回帖子列表
*/
已标记的公共列表(字符串标记、地图选项){
如果(选项==null){
options=Collections.emptyMap();
}
Map soptions=JumblrClient.safeOptionMap(选项);
soptions.put(“api_键”,apiKey);
放置(“标签”,标签);
返回requestBuilder.get(“/taged”,soptions).getTaggedPosts();
}

基于文档,它应该正是您所需要的。它实际上构建了与您在问题中提到的相同的请求

编辑: 根据TumblrAPI文档,不可能要求超过20篇文章

限制-要返回的结果数:1–20,包括

我找到了

public List<Post> fetchPostsByTag(JumblrClient client, String tagName, long timestamp) {
    if (client == null || tagName == null || tagName.isEmpty()) {
        return null;
    }
    Map<String, String> options = new HashMap<String, String>();
    if (timestamp != 0) {
        options.put("before", timestamp + "");
    }
    List<Post> posts = client.tagged(tagName, options);
    return posts;
}
public List fetchPostsByTag(JumblClient客户端,字符串标记名,长时间戳){
if(client==null | |标记名==null | |标记名.isEmpty()){
返回null;
}
Map options=newhashmap();
如果(时间戳!=0){
期权。看跌期权(“之前”,时间戳+”);
}
List posts=client.taged(标记名,选项);
返回岗位;
}
这个代码是为我工作的。。现在,我得到了20多个帖子使用标签


感谢Reins的支持。

感谢您提供的信息。但根据我传递给这个方法的标签,我只得到了前20名的帖子。这是预期的行为。Tumblr API将限制定义为1-20