2017-12-12 29 views
0

문서 here : 및 here : Android Java를 통해 Personality Insights 서비스에 통합하려고했습니다. 그러나 앱을 실행하고 가이드에서 언급 한 올바른 사용자 이름과 비밀번호를 사용하면 ... 가이드가 명확하지 않습니다 ("시작하기 전에"에서 2 번째 글 머리 기호로 표시). 만든 새 서비스에서 "서비스 자격 증명"및 자격 증명을 얻을 - 나는 모두 시도하고 모두는 다음과 같은 오류와 함께 실패)"자격 증명이 유효하지 않아 액세스가 거부되었습니다."REST API 오류입니다. 어떻게 해결할 수 있습니까?

오류 :.

12-11 01 : 49 : 56.201 29584- 29632 /? I/CredentialUtils : JNDI 문자열 조회를 사용할 수 없습니다. 12-11 01 : 49 : 56.269 29584-29632 /? D/NetworkSecurityConfig : 플랫폼 기본값을 사용하여 네트워크 보안 구성을 지정하지 않았습니다. 12-11 01 : 49 : 56.723 29584-29632 /? D/OkHttp : -> POST https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13 http/1.1 (1297 바이트 본문) 12-11 01 : 49 : 56.803 29584-29632 /? D/OkHttp : < - 401 승인되지 않음 https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13 (78ms, 길이가 불명확 한 몸체) 12-11 01 : 49 : 56.863 29584-29632 /? E/WatsonService : POST https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13, 상태 : 401, 오류 : 승인되지 않음 12-11 01 : 49 : 56.865 29584-29632 /? E/ERROR : 권한이 없음 : 잘못된 자격 증명 때문에 액세스가

com.ibm.watson.developer_cloud.service.exception.UnauthorizedException를 거부 : 권한이 없음 : 액세스가 거부 인해 com.ibm.watson.developer_cloud.service에서 잘못된 자격 증명 .WatsonService.processServiceCall (WatsonService.java:492) at com.ibm.watson.developer_cloud.service.WatsonService $ 2.execute (WatsonService.java:254) at com.upen.personalityapp.MainActivity $ RetrieveFeedTask.doInBackground (MainActivity.java : 105) android.os.AsyncTask $ 2.call (AsyncTask.java:306) at java.util.concurrent.FutureTask.run (FutureTask.)에서 com.upen.personalityapp.MainActivity $ RetrieveFeedTask.doInBackground (MainActivity.java:87). java : 237) android.os.AsyncTask $ SerialExecutor $ 1.run (AsyncTask.java:244) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor $ W orker.run (ThreadPoolExecutor.java:607) at java.lang.Thread.run (Thread.java:761) 12-11 01 : 49 : 56.866 29584-29584 /?

이것은 내가 사용하고있는 코드입니다. 서비스에 "텍스트"입력을 전달하려고합니다.

 service = new PersonalityInsights("2017-10-13"); 
     service.setUsernameAndPassword("{myUsername}", "{myPassword}"); 
     Profile profile = service.getProfile(text).execute(); 
     System.out.println(profile); 
     return profile.toString(); 

저는 com.ibm.watson.developer_cloud:personality-insights:3.8.0 의존성을 사용하고 있습니다.

오류 (https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=2017-10-13)의 URL에 브라우저를 통해 연결을 시도했습니다. 사용자 이름/암호 조합을 요구합니다. IBM Cloud Lite 서비스에서 내 세부 사항을 입력했지만 HTTP 오류 405가 발생합니다. 브라우저에서 작동하는 방식입니까?

+0

'service.setUsernameAndPassword (username, password);'로 자격 증명을 전달해야합니다. – hustlecoder

+0

예 자격 증명을 전달합니다. 여기에 노출시키지 않기 위해 'myUsername'과 'myPassword'를 사용했습니다. 감사. – Zac

+0

어쩌면 나는 내 의견에 분명하지 않았습니다. ("{myUsername}", "{myPassword}") 대신 (myUsername, myPassword)를 사용하십시오. – hustlecoder

답변

0

미래의 사람에게;

service.setUsernameAndPassword(username, password); 대신 service.setUsernameAndPassword("username", "password");을 시도해 보았습니다.