Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SDK SignerFactory引发异常_Android_Amazon Web Services_Authentication_Identity_Amazon Polly - Fatal编程技术网

Android SDK SignerFactory引发异常

Android SDK SignerFactory引发异常,android,amazon-web-services,authentication,identity,amazon-polly,Android,Amazon Web Services,Authentication,Identity,Amazon Polly,我正在用AWS Cognito和Polly构建一个Android应用程序。该应用程序工作正常,直到今天才开始在auth.SignerFactory.createSigner函数中运行IllegalArgumentException 我有以下代码: mCredentialsProvider = new CognitoCachingCredentialsProvider( appContext, COGNITO_POOL_ID,

我正在用AWS Cognito和Polly构建一个Android应用程序。该应用程序工作正常,直到今天才开始在
auth.SignerFactory.createSigner
函数中运行
IllegalArgumentException

我有以下代码:

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);
mCredentialsProvider=new CognitoCachingCredentialsProvider(
appContext,
COGNITO_POOL_ID,
地区:美国东部(1);
Map logins=new HashMap();
logins.put(“graph.facebook.com”,AccessToken.getCurrentAccessToken().getToken());
mCredentialsProvider.setLogins(登录名);
//设置amazon polly
mPollyClient=新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)
原因:java.lang.IllegalArgumentException
位于com.amazonaws.auth.SignerFactory.createSigner(SignerFactory.java:115)
在com.amazonaws.auth.SignerFactory.lookupAndCreateSigner(SignerFactory.java:104)上
位于com.amazonaws.auth.SignerFactory.getSigner(SignerFactory.java:79)
在com.amazonaws.AmazonWebServiceClient.computeSignerByServiceRegion(AmazonWebServiceClient.java:379)
位于com.amazonaws.AmazonWebServiceClient.computeSignerByURI(AmazonWebServiceClient.java:351)
位于com.amazonaws.AmazonWebServiceClient.setEndpoint(AmazonWebServiceClient.java:215)
位于com.amazonaws.services.polly.AmazonPollyClient.init(AmazonPollyClient.java:281)
位于com.amazonaws.services.polly.AmazonPollyClient.(AmazonPollyClient.java:261)
在com.amazonaws.services.polly.AmazonPollyPresigningClient上。(AmazonPollyPresigningClient.java:128)
位于com.amazonaws.services.polly.amazonpollypresingClient。(amazonpollypresingClient.java:107)
位于com.amazonaws.services.polly.amazonpollypresingClient。(amazonpollypresingClient.java:76)
位于com.example.mymirrorlinkapplication.MainActivity.initializeLex(MainActivity.java:552)
在com.example.mymirrorlinkapplication.MainActivity.checkFacebookLogin上(MainActivity.java:298)
在com.example.mymirrorlinkapplication.MainActivity.checkPermissions(MainActivity.java:289)上

我尝试将
CognitocChingCredentialsProvider
更改为
CognitocCredentialsProvider
,但结果是一样的。此问题的原因可能是什么?

看起来您从访问令牌对象提取Facebook访问令牌值的代码可能不正确。至少基于Facebook文档

我假设AccessToken已经被实例化并填充。您可能需要更新将令牌插入登录映射的代码,以:

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