Manju
Manju

Reputation: 309

Not authorized to access scope - Amazon Advertising API

My purpose is to download the advertising report using existing application details such as AMAZON_CLIENT_ID, AMAZON_CLIENT_SECRET & Access tokens to other java application.

I was able to get the new access token using AMAZON_CLIENT_ID, AMAZON_CLIENT_SECRET & refresh_token. Below is the code to fetch a new access token.

OkHttpClient client = new OkHttpClient();
 Response response;
            MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
     RequestBody body = RequestBody.create(mediaType, "grant_type=refresh_token&refresh_token=" + refreshToken + "&client_id=" + amzClientId + "&client_secret=" + amzClientSceret);
            Request request = new Request.Builder()
                    .url(“https://api.amazon.com/auth/o2/token”)
                    .post(body)
                    .addHeader("content-type", "application/x-www-form-urlencoded")
                    .build();
        response = client.newCall(request).execute();

After sending the api request to fetch the campaign level stats data, is gives the following error

{"code":"UNAUTHORIZED","
details":"Not authorized to access scope XXXXXXXXXXXXXXXXXX","
requestId":"xxxxxxxxxxxxx"}" 

My question here is, Can I use the same existing AMAZON_CLIENT_ID, AMAZON_CLIENT_SECRET & Access tokens to fetch stats to different java applications(without using login with amazon)?

Any help would be appreciated. Thank you!!

Upvotes: 0

Views: 1239

Answers (1)

mr_mooo_cow
mr_mooo_cow

Reputation: 1128

You need to include the access token and client ID for subsequent requests.

.addHeader("Authorization", "Bearer " + access_token)

.addHeader("Amazon-Advertising-API-ClientId", client_id)

Upvotes: 1

Related Questions