Насколько я понимаю, OAuthHelper в Jraw должен автоматически генерировать токен доступа, когда я запускаю этот кусок кода, но это не так.Что я делаю неправильно?Я помещаю случайное значение в поле Платформа приложения.Имеет ли это значение?
public static void main(String[] args) {
UserAgent userAgent = new UserAgent(
"appPlatform",
"appName",
"version",
"userName");
Credentials credentials = Credentials.script(
"userName",
"password",
"clientId",
"clientSecret"
);
NetworkAdapter adapter = new OkHttpNetworkAdapter(userAgent);
RedditClient redditClient = OAuthHelper.automatic(adapter, credentials);
// frontPage() returns a Paginator.Builder
DefaultPaginator<Submission> frontPage = redditClient.frontPage()
.sorting(SubredditSort.TOP)
.timePeriod(TimePeriod.DAY)
.limit(30)
.build();
Listing<Submission> submissions = frontPage.next();
for (Submission s : submissions) {
System.out.println(s.getTitle());
}
}
Вот трассировка стека:
Исключение в потоке "main" java.lang.NullPointerException: пустое значение accessToken в net.dean.jraw.models.internal. $ AutoValue_OAuthDataJson. ($ AutoValue_OAuthDataJson.java:23) в net.dean.jraw.models.internal.AutoValue_OAuthDataJson. (AutoValue_OAuthDataJson.java:15) в net.deawAJAJD(AutoValue_OAuthDataJson.java:64) в net.dean.jraw.models.internal.AutoValue_OAuthDataJson $ MoshiJsonAdapter.fromJson (AutoValue_OAuthDataJson.java:18) в com.squareup.moshi.JsonAdava.rom: 41: at.dean.jraw.http.HttpResponse.deserializeWith (HttpResponse.kt: 49) в net.dean.jraw.oauth.OAuthHelper.scriptOAuthData $ lib (OAuthHelper.kt: 96) в net.dean.jraw.oauth.OAuthHelper.auOAuthHelper.kt: 32) в net.dean.jraw.oauth.OAuthHelper.automatic $ default (OAuthHelper.kt: 27) в net.dean.jraw.oauth.OAuthHelper.automatic (OAuthHelper.kt) в com.signalscanner.reddit.RedditAuthenticator.main (RedditAuthenticator.java:34)
Следует отметить, что RedditAuthenticator.java:34 представляет собой следующую строку:
RedditClient redditClient = OAuthHelper.automatic, адаптер ();