0

私はAWS CognitoとPollyを使用してAndroidアプリケーションを構築しています。このアプリは、の機能でIllegalArgumentExceptionを投げ始めた今日まで、うまくいきました。Android SDK SignerFactory例外の例外

私は次のコードを持っている:

mCredentialsProvider = new CognitoCachingCredentialsProvider(
      appContext, 
      COGNITO_POOL_ID, 
      Regions.US_EAST_1); 
    Map<String, String> logins = new HashMap<>(); 
    logins.put("graph.facebook.com", AccessToken.getCurrentAccessToken().getToken()); 
    mCredentialsProvider.setLogins(logins); 
    //setup amazon polly 
    mPollyClient = new AmazonPollyPresigningClient(mCredentialsProvider); 

と例外スロー:

Caused by: java.lang.IllegalArgumentException 
at com.amazonaws.auth.SignerFactory.createSigner(SignerFactory.java:115) 
at com.amazonaws.auth.SignerFactory.lookupAndCreateSigner(SignerFactory.java:104) 
at com.amazonaws.auth.SignerFactory.getSigner(SignerFactory.java:79) 
at com.amazonaws.AmazonWebServiceClient.computeSignerByServiceRegion(AmazonWebServiceClient.java:379) 
at com.amazonaws.AmazonWebServiceClient.computeSignerByURI(AmazonWebServiceClient.java:351) 
at com.amazonaws.AmazonWebServiceClient.setEndpoint(AmazonWebServiceClient.java:215) 
at com.amazonaws.services.polly.AmazonPollyClient.init(AmazonPollyClient.java:281) 
at com.amazonaws.services.polly.AmazonPollyClient.<init>(AmazonPollyClient.java:261) 
at com.amazonaws.services.polly.AmazonPollyPresigningClient.<init>(AmazonPollyPresigningClient.java:128) 
at com.amazonaws.services.polly.AmazonPollyPresigningClient.<init>(AmazonPollyPresigningClient.java:107) 
at com.amazonaws.services.polly.AmazonPollyPresigningClient.<init>(AmazonPollyPresigningClient.java:76) 
at com.example.mymirrorlinkapplication.MainActivity.initializeLex(MainActivity.java:552) 
at com.example.mymirrorlinkapplication.MainActivity.checkFacebookLogin(MainActivity.java:298) 
at com.example.mymirrorlinkapplication.MainActivity.checkPermissions(MainActivity.java:289) 

を私はCognitoCachingCredentialsProviderからCognitoCredentialsProviderに変更しようとしたが、結果は同じです。この問題の原因は何でしょうか?

答えて

0

アクセストークンオブジェクトからFacebookアクセストークンの値を抽出しているコードのように見えない可能性があります。少なくともFacebookのドキュメントに基づいています。 https://developers.facebook.com/docs/facebook-login/access-tokens#usertokens

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    FacebookSdk.sdkInitialize(this.getApplicationContext()); 
    accessToken = AccessToken.getCurrentAccessToken(); 
} 

私はAccessTokenはすでにインスタンス化され、移植されたと仮定しています。トークンをログインに挿入するコードを次のように更新する必要があります。

logins.put("graph.facebook.com",AccessToken.getCurrentAccessToken());