Неожиданный код ответа 401 для Microsoft Graph me / calendars API в Android с volley lib - PullRequest
1 голос
/ 13 июня 2019

Получение Неожиданный код ответа Http 401 Ошибка при вызове GET https://graph.microsoft.com/v1.0/me/calendars API с Android с использованием библиотеки залпа.

Я уже добавил все необходимые разрешения, такие какCalendars.Read, Calendars.Read.Shared, Calendars.ReadWrite, Calendars.ReadWrite.Shared и т. Д.

История:

Я настроил проект Android для вызова Microsoft Graph API по ссылке ниже: https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-android

Использование зависимостей в файле сборки gradle: реализация 'com.microsoft.identity.client: msal: 0.3. +'

Я могу войти и выйти из приложения Android,

Также я могу получить доступ к API https://graph.microsoft.com/v1.0/me и получить правильный ответ от сервера Microsoft.

Но получаю ошибку в другом API Graph.Ниже приведен метод подключения для вызова API Календаря:

сетевой вызов volloy для API Календаря

    /* Make sure we have a token to send to graph */
    if (authResult.getAccessToken() == null) {
        return;
    }

    RequestQueue queue = Volley.newRequestQueue(this);

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, "https://graph.microsoft.com/v1.0/me/calendars",
            null, new Response.Listener<JSONObject>() {

        @Override
        public void onResponse(JSONObject response) {

            /* Successfully called graph, process data and send to UI */
            Log.d(TAG, "Response: " + response.toString());
        }

    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d(TAG, "Error: " + error.toString());
        }

    })
    {
        @Override
        public Map<String, String> getHeaders() {

            Map<String, String> headers = new HashMap<>();
            headers.put("Authorization", "Bearer " + authResult.getAccessToken());
            return headers;
        }
    };

    Log.d(TAG, "Adding HTTP GET to Queue, Request: " + request.toString());
    request.setRetryPolicy(new DefaultRetryPolicy(3000,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    queue.add(request);

Ответ от вышеуказанного вызова API: Неожиданный код ответа 401 для https://graph.microsoft.com/v1.0/me/calendars

Пожалуйста, помогите мне вызвать Graph API через приложение для Android, используя класс залпа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...