У меня есть реализация oauth 2.0 на Java, я хотел попробовать кое-что с Shopware 6 API. Я могу получить токен доступа без проблем и, насколько я вижу, я делаю все правильно, чтобы запросить ресурс с этим access_token. В заголовке запроса GET я поместил заголовок «Авторизационный носитель» + access_token, а также заголовок «Content-Type», «application / json».
HttpGet get = new HttpGet(resourceURL);
get.addHeader("Content-Type", "application/json");
и позже
if (isValid(accessToken)) {
// update the access token
// System.out.println("New access token: " + accessToken);
oauthDetails.setAccessToken(accessToken);
// remove the old auth header
get.removeHeaders(OAuthConstants.AUTHORIZATION);
// add the new auth header
get.addHeader(OAuthConstants.AUTHORIZATION,
getAuthorizationHeaderForAccessToken(oauthDetails.getAccessToken()));
get.releaseConnection();
response = client.execute(get);
code = response.getStatusLine().getStatusCode();
Код ошибки, который я всегда получаю, - 415.
Это полный ответ:
HttpResponseProxy{HTTP/1.1 415 Unsupported Media Type [Date: Thu, 04 Jul 2019 08:45:38 GMT, Server: Apache/2.4.25 (Debian), Cache-Control: no-cache, private, Access-Control-Allow-Origin: *, Access-Control-Allow-Methods: GET,POST,PUT,PATCH,DELETE, Access-Control-Allow-Headers: Content-Type,Authorization,sw-context-token,sw-access-key,sw-language-id,sw-version-id, sw-version-id: , sw-language-id: , sw-context-token: , x-frame-options: deny, X-Debug-Token: c1766c, X-Debug-Token-Link: http://localhost:8000/_profiler/c1766c, X-Robots-Tag: noindex, Vary: Authorization, Keep-Alive: timeout=5, max=100, Connection: Keep-Alive, Transfer-Encoding: chunked, Content-Type: application/json] ResponseEntityProxy{[Content-Type: application/json,Chunked: true]}}
Конечной точкой, которую я пытаюсь получить, является конечная точка "http://localhost:8000/api/v1/category/". Если я делаю все это с Бессонницей / Почтальоном, я получаю информацию об ожидаемой категории.
У кого-нибудь есть идеи, что может быть не так? Что мне здесь не хватает?