Так что я пытаюсь получить информацию о различных изображениях, для которых я буду использовать API Imgur через Java.Как использовать OAuth с Imgur?
Я нашел библиотеку: https://github.com/fernandezpablo85/scribe-java,
но при попытке к ImgUrTest.java @https://github.com/fernandezpablo85/scribe-java/blob/master/src/test/java/org/scribe/examples/ImgUrExample.java, я получаю следующую трассировку стека:
Exception in thread "main" org.scribe.exceptions.OAuthException: Response body is incorrect. Can't extract token and secret from this: 'OAuth Verification Failed: The consumer_key "<Client-ID>" token "" combination does not exist or is not enabled.'
at org.scribe.extractors.TokenExtractorImpl.extract(TokenExtractorImpl.java:41)
at org.scribe.extractors.TokenExtractorImpl.extract(TokenExtractorImpl.java:27)
at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:64)
at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:40)
at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:45)
at ImgUrExample.main(ImgUrExample.java:31)
< где Клиент-ID> мой идентификатор клиента, как показано на странице ImgUr.
Я проверял, что мой идентификатор клиента и секрет клиента верны, я попытался сделать несколько приложений на сайте ImgUr, ни одна из которых не работает.
Edit: Этот код работает:
URL imgURL = new URL(YOUR_REQUEST_URL);
HttpURLConnection conn = (HttpURLConnection) imgURL.openConnection();
conn.setRequestMethod("GET");
if (accessToken != null) {
conn.setRequestProperty("Authorization", "Bearer " + accessToken);
} else {
conn.setRequestProperty("Authorization", "Client-ID " + CLIENT_ID);
}
BufferedReader bin = null;
bin = new BufferedReader(new InputStreamReader(conn.getInputStream()));
Во-первых, пример использует Imgur API v2, который является старым и неподдерживаемым. Вы должны использовать API v3. Также обратите внимание, что «для общедоступных общедоступных и анонимных ресурсов, таких как получение информации об изображении, поиск комментариев пользователей и т. Д., Все, что вам нужно сделать, - это отправить заголовок авторизации с вашим client_id в ваши запросы». из документов на https://api.imgur.com/oauth2/ - так что вам действительно не нужно OAuth за то, что вы делаете. – TalkLittle
Возможно, вам стоит опубликовать это как ответ, поскольку он отвечает на мой вопрос? Не могли бы вы дать мне ссылку или некоторые классы, из которых я могу работать? Я действительно новичок в этом материале HTTP-запроса. – vrwim