Getting Alexa Profile information

152 views Asked by At

I am Authorizing an Alexa android application , using the below code . How can I get profile information from the below code ?

private static final String[] APP_SCOPES= {"alexa:all"};
String PRODUCT_DSN = Settings.Secure.getString(mContext.getContentResolver(),
                Settings.Secure.ANDROID_ID);
        Bundle options = new Bundle();
        String scope_data = "{\"alexa:all\":{\"productID\":\"" + mProductId +
                "\", \"productInstanceAttributes\":{\"deviceSerialNumber\":\"" +
                PRODUCT_DSN + "\"}}}";
        options.putString(AuthzConstants.BUNDLE_KEY.SCOPE_DATA.val, scope_data);

        options.putBoolean(AuthzConstants.BUNDLE_KEY.GET_AUTH_CODE.val, true);
        options.putString(AuthzConstants.BUNDLE_KEY.CODE_CHALLENGE.val, getCodeChallenge());
        options.putString(AuthzConstants.BUNDLE_KEY.CODE_CHALLENGE_METHOD.val, "S256");
        options.putBoolean(AuthzConstants.BUNDLE_KEY.PROFILE.val, true);

        mAuthManager.authorize(APP_SCOPES, options, authListener);
1

There are 1 answers

0
Rohith Krishnan On

Finally i found the answer , Need Fetch the access token, then call the api:

https://api.amazon.com/user/profile
Header: Authorization", Bearer access_token

Eg :

String url = "https://api.amazon.com/user/profile";
OkHttpClient client = ClientUtil.getTLS12OkHttpClient();

Request request = new Request.Builder()
        .url(url)
        .addHeader("Authorization", "Bearer " + access_token)
        .build();

client.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(Call call, final IOException e) {

    }

    @Override
    public void onResponse(Call call, Response response) throws IOException {
        String s = response.body().string();




    }
});