Я хочу получить доступ к MS Cloud API на платформе Android.
Итак, я нашел один образец приложения.
Вот пример приложения, в котором работает эта функция. (https://github.com/adithya321/Companion-for-Band/blob/dev/app/src/main/java/com/pimp/companionforband/activities/cloud/WebviewActivity.java )
Я сделал приложение MS с сайта dev.app.microsoft.com.
и сделал пароль и зарегистрировал веб-платформу перенаправления uri(https://login.live.com/oauth20_desktop.srf< /а>)
Итак, у меня был мой client_id, client_serect
В функции downloreUrl RequestMethod имеет значение «GET». Итак, я изменил его на «POST».
private String downloadUrl(String url) throws IOException {
InputStream is = null;
try {
URL u = new URL(url);
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
is = conn.getInputStream();
return readIt(is, 9999);
} finally {
if (is != null) {
is.close();
}
}
но это приложение не работает.
Я изменил метод доступа с помощью HttpClient, а не HttpURLConnection.
Я обнаружил, что получаю доступ к MS Cloud API с общедоступным клиентом.
вот логкэт
02-10 15:30:51.533 29336-29639/com.example.user.bandsample D/WebviewActivity: executeClient: {"error":"invalid_request","error_description":"Public clients can't send a client secret."}
Удалив client_secret, я только что получил access_token без токена обновления.
Я не знаю, что мне делать.