Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Najemcy Workforce
Zewnętrzni dzierżawcy (dowiedz się więcej)
Jest to trzeci samouczek z serii samouczków, który przeprowadzi Cię przez proces wywoływania chronionego internetowego interfejsu API przy użyciu identyfikatora zewnętrznego firmy Microsoft.
W tym samouczku nauczysz się następujących rzeczy:
- Wywołaj chroniony internetowy interfejs API
Warunki wstępne
Wywołaj chroniony internetowy interfejs API
W aplikacji>src>main>java>com.example(nazwa aplikacji). Utwórz następujące fragmenty systemu Android:
- MSGraphRequestWrapper
Otwórz MSGraphRequestWrapper.java i zastąp kod następującym fragmentem kodu, aby wywołać interfejs API programu Microsoft Graph przy użyciu tokenu dostarczonego przez bibliotekę MSAL:
package com.azuresamples.msalandroidapp; import android.content.Context; import android.util.Log; import androidx.annotation.NonNull; import com.android.volley.DefaultRetryPolicy; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.Volley; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; public class MSGraphRequestWrapper { private static final String TAG = MSGraphRequestWrapper.class.getSimpleName(); // See: https://docs.microsoft.com/en-us/graph/deployments#microsoft-graph-and-graph-explorer-service-root-endpoints public static final String MS_GRAPH_ROOT_ENDPOINT = "https://graph.microsoft.com/"; /** * Use Volley to make an HTTP request with * 1) a given MSGraph resource URL * 2) an access token * to obtain MSGraph data. **/ public static void callGraphAPIUsingVolley(@NonNull final Context context, @NonNull final String graphResourceUrl, @NonNull final String accessToken, @NonNull final Response.Listener<JSONObject> responseListener, @NonNull final Response.ErrorListener errorListener) { Log.d(TAG, "Starting volley request to graph"); /* Make sure we have a token to send to graph */ if (accessToken == null || accessToken.length() == 0) { return; } RequestQueue queue = Volley.newRequestQueue(context); JSONObject parameters = new JSONObject(); try { parameters.put("key", "value"); } catch (Exception e) { Log.d(TAG, "Failed to put parameters: " + e.toString()); } JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, graphResourceUrl, parameters, responseListener, errorListener) { @Override public Map<String, String> getHeaders() { Map<String, String> headers = new HashMap<>(); headers.put("Authorization", "Bearer " + accessToken); 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); } }
Testowanie aplikacji
Skompiluj i wdróż aplikację na urządzeniu testowym lub emulatorze. Powinno być możliwe zalogowanie się i uzyskanie tokenów dla identyfikatora Entra firmy Microsoft.