2016-08-11 7 views
1

Я пытаюсь создать список всех моих сохраненных элементов reddit, используя JRAW.Как я могу сгенерировать список Reddit сохраненных элементов с помощью jraw?

Я прошел через Quickstart и успешно смог войти в систему и получить информацию, и я могу получить список элементов на главной странице с Cookbook, но я не могу понять, как получить список мои сохраненные предметы (комментарии и сообщения) или список моих собственных сообщений (также комментарии и сообщения).

Сохраненные элементы находятся в https://www.reddit.com/user/<username>/saved/, но я не знаю, как получить jraw для извлечения и анализа, или если api использует другой URL.

Редактировать: Мне кажется, мне, вероятно, нужно использовать UserContributionPaginator, но я не совсем точно определил, как заставить его работать.

ответ

1

Работал.

package com.jraw; 

import net.dean.jraw.RedditClient; 
import net.dean.jraw.http.UserAgent; 
import net.dean.jraw.http.oauth.Credentials; 
import net.dean.jraw.http.oauth.OAuthData; 
import net.dean.jraw.http.oauth.OAuthException; 
import net.dean.jraw.models.Contribution; 
import net.dean.jraw.models.Listing; 
import net.dean.jraw.paginators.UserContributionPaginator; 

public class printSaved { 

    public static void main(String [] args) { 
     UserAgent myUserAgent = UserAgent.of("desktop", "com.jraw.printSaved", "v0.01", "user"); 
     RedditClient redditClient = new RedditClient(myUserAgent); 
     String username = "username"; 
     Credentials credentials = Credentials.script(username, "<password>", "<clientId>", "<clientSecret>"); 

     OAuthData authData = null; 
     try { 
      authData = redditClient.getOAuthHelper().easyAuth(credentials); 
     } catch (OAuthException e) { 
      e.printStackTrace(); 
     } 
     redditClient.authenticate(authData); 

     UserContributionPaginator saved = new UserContributionPaginator(redditClient,"saved",username); 

     Listing<Contribution> savedList = saved.next(); 

     for (Contribution item : savedList) { 
      System.out.println(item); 
     } 
    } 
}