1

I'm trying to implement support for Woocommerce e-shop into our system and I'm using scribe-java for that. What I'm trying is to get Json response from e-shop and store it into database. Problem is that I can connect to e-shop but instead of Json response, I get HTML response. Any help would be much appreciated. BTW, I'm using latest scribe-java 3.0.0

URL: http://shop_url/wp-json/wc/v1/orders?after=2016-08-17T00:00:00&page=1&per_page=100&order=asc

Here's source code:

private Integer callGETWithOAuthAuthentication(String url, StringBuffer sbRet) throws IOException {
    OAuth10aService service = new ServiceBuilder()
                        .apiKey(getSettingsStr().getSecret1())
                        .apiSecret(getSettingsStr().getSecret2())
                        .debugStream(System.out)
                        .signatureType(SignatureType.QueryString)
                        .build(WooCommerceApi.instance());

    OAuthRequest request = new OAuthRequest(Verb.GET, url, service);
    service.signRequest( new OAuth1AccessToken("", ""), request);

    Response response = request.send();

    BufferedReader in = new BufferedReader(
            new InputStreamReader(response.getStream()));
    String inputLine;
    StringBuffer responseJson = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
        responseJson.append(inputLine);
    }
    if (sbRet != null) {
        sbRet.append(responseJson.toString());
    }

    return response.getCode();
}

And here is WooCommerceApi

import com.github.scribejava.core.builder.api.DefaultApi10a;
import com.github.scribejava.core.model.OAuth1RequestToken;
import com.github.scribejava.core.model.Verb;
import com.github.scribejava.core.services.HMACSha1SignatureService;
import com.github.scribejava.core.services.SignatureService;

public class WooCommerceApi extends DefaultApi10a {
    protected WooCommerceApi() {
    }
    private static class InstanceHolder {
        private static final WooCommerceApi INSTANCE = new WooCommerceApi();
    }

    public static WooCommerceApi instance() {
        return InstanceHolder.INSTANCE;
    }

    @Override
    public String getAccessTokenEndpoint() {
        return null;
    }

    @Override
    public String getRequestTokenEndpoint() {
        return null;
    }

    @Override
    public Verb getAccessTokenVerb() {
        return Verb.GET;
    }

    @Override
    public Verb getRequestTokenVerb() {
        return Verb.GET;
    }

    @Override
    public String getAuthorizationUrl(OAuth1RequestToken requestToken) {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public SignatureService getSignatureService() {
        return new HMACSha1SignatureService();
    }

}

And this is a response I'm getting:

`<!DOCTYPE html>
<!--[if IE 6]>
<html id="ie6" lang="sl-SI">
<![endif]-->
<!--[if IE 7]>
<html id="ie7" lang="sl-SI">
<![endif]-->
<!--[if IE 8]>
<html id="ie8" lang="sl-SI">
<![endif]-->
<!--[if !(IE 6) | !(IE 7) | !(IE 8)  ]><!-->
<html lang="sl-SI">
<!--<![endif]-->
<head>`
Igor
  • 253
  • 3
  • 5
  • 14

0 Answers0