2016-03-07 5 views
0

Я должен сделать запрос к api. Завиток, который работает в:curl для запроса в java

curl -u apiKey:pass -H "Accept: application/json" https://subdomain.chargify.com/portal/customers/id/management_link.json 

и код Java, что я до сих пор является:

String userpass = apiKey + ":" + pass; 
String basicAuth = "Basic " + new String(new Base64().encode(userpass.getBytes())); 

URL url = new URL(stringUrl); 
HttpURLConnection uc = (HttpURLConnection) url.openConnection(); 
uc.setRequestProperty("Accept", "application/json"); 
uc.setRequestProperty("Authorization", basicAuth); 

InputStream content = uc.getInputStream(); 
int status = uc.getResponseCode(); 
BufferedReader in = new BufferedReader (new InputStreamReader(content)); 

String line; 
while ((line = in.readLine()) != null) { 
     System.out.println(line); 
} 

Каждый раз, когда я получаю код 401 ответа. Что я делаю неправильно?

ответ

1

Для вашего запроса требуется User Aunthentication. Поскольку запрос уже включал учетные данные авторизации, тогда ответ 401 указывает, что для этих учетных данных было отказано в авторизации. Проверьте, как вы генерируете и подтверждаете ключ

+0

Вы правы. Форма учетных данных - apiKey: x, где x - пароль. Я сохранял ключ api в файле свойств приложения, таком как «apikey», и когда я его использовал, он стал «apikey» ». Спасибо. –

Смежные вопросы