2017-09-08 9 views
0

私はAlexa androidアプリケーションを認証しています。以下のコードを使用しています。 以下のコードからプロファイル情報を取得するにはどうすればよいですか?Alexaプロフィール情報を取得する

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

は最終的に私は、APIを呼び出して、答えを見つけたアクセストークンを取得する必要がある:

https://api.amazon.com/user/profile
ヘッダー:認証」、ベアラ

access_tokenは例:

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(); 




    } 
}); 
関連する問題