Udostępnij przez


Konfigurowanie ręcznego uwierzytelniania odświeżania tokenu na potrzeby pozyskiwania przez program Microsoft SharePoint

Ważne

Zarządzany łącznik programu Microsoft SharePoint jest w wersji beta.

Na tej stronie opisano sposób konfigurowania ręcznej autentykacji odnawiania tokenu na potrzeby przekazywania danych z programu Microsoft SharePoint do Azure Databricks.

Krok 1. Pobieranie identyfikatora witryny programu SharePoint

  1. Odwiedź żądaną witrynę programu SharePoint w przeglądarce.
  2. Dołącz /_api/site/id do adresu URL.
  3. Wpisz Enter.

Krok 2. Pobieranie nazw dysków programu SharePoint (opcjonalnie)

Jeśli chcesz zintegrować wszystkie dyski i dokumenty na swojej witrynie programu SharePoint, możesz pominąć ten krok. Jeśli jednak chcesz pozyskać tylko podzbiór dysków, musisz zebrać ich nazwy.

Nazwy dysków można znaleźć w menu po lewej stronie. W każdej witrynie istnieje dysk domyślny o nazwie Dokumenty . Twoja organizacja może mieć dodatkowe dyski. Na przykład dyski na poniższym zrzucie ekranu obejmują doclib1, subsite1doclib1i inne.

Wyświetlanie dysków programu SharePoint

Niektóre dyski mogą być ukryte w liście. Twórca dysku może to skonfigurować w ustawieniach dysku. W takim przypadku ukryte dyski mogą być widoczne w sekcji Zawartość witryny .

Wyświetlanie ukrytych dysków programu SharePoint

Krok 3. Tworzenie klienta w identyfikatorze Entra firmy Microsoft

Ten krok tworzy klienta, który może uzyskać dostęp do plików programu SharePoint.

  1. W witrynie Microsoft Azure Portal (portal.azure.com) kliknij pozycję Microsoft Entra ID. Może być konieczne wyszukanie "Microsoft Entra ID".

    Portal Azure: karta Entra ID

  2. W menu po lewej stronie w sekcji Zarządzanie kliknij pozycję Rejestracje aplikacji.

  3. Kliknij pozycję Nowa rejestracja.

    Przycisk nowej rejestracji dla aplikacji Entra ID

  4. W formularzu Rejestrowanie aplikacji :

    • Czy chcesz, aby inni najemcy uzyskiwali dostęp do tej aplikacji.

    • Adres URL przekierowania, którego chcesz użyć do pobrania kodu uwierzytelniania. Określ jedną z następujących opcji:

      • Adres URL przekierowania dla własnego serwera
      • https://127.0.0.1 Nawet jeśli nie masz serwera działającego na https://127.0.0.1, aplikacja próbuje przekierować do tej strony. Kod znajduje się w wynikowym adresie URL, a adres URL ma następujący format: https://127.0.0.1:5000/oauth2redirect?code=<code>

    Rejestrowanie formularza aplikacji

    Nastąpi przekierowanie do strony szczegółów aplikacji.

    Strona szczegółów aplikacji OAuth

  5. Zanotuj następujące wartości:

    • Identyfikator aplikacji (klienta)
    • Identyfikator katalogu (klienta)
  6. Kliknij pozycję Poświadczenia klienta: Dodaj certyfikat lub wpis tajny.

  7. Kliknij + Nowy sekret klienta.

    + Przycisk Nowy sekret klienta

  8. Dodaj opis.

  9. Kliknij przycisk Dodaj.

    Wyświetla się zaktualizowana lista tajemnic klienta.

  10. Skopiuj wartość klucza tajnego klienta i zapisz ją bezpiecznie. Po opuszczeniu strony nie można uzyskać dostępu do klucza tajnego klienta.

Krok 4. Udzielanie klientowi dostępu do plików programu SharePoint

Klient wymaga następujących dwóch uprawnień dostępu do plików programu SharePoint:

  • sites.read.all
  • offline_access

Zapewniają one klientowi dostęp do wszystkich plików we wszystkich lokacjach, do których masz dostęp. Jeśli dobrze się z tym czujesz, wykonaj następujące czynności:

  1. Uruchom następujący kod języka Python w nowym notesie. Zmodyfikuj tenant_id, client_id i redirect_url.

    import requests
    
    # This is the application (client) id (obtained from the App Registration page)
    
    client_id = ""
    
    # This is the tenant id (obtained from the App Registration page)
    
    tenant_id = ""
    
    # A redirect URL is used in OAuth to redirect users to an
    
    # application after they grant permission to access their account.
    
    # In this setup, the authentication code is sent to this server.
    
    redirect_url = ""
    
    # ================= Do not edit code below this line. ==================
    
    # Authorization endpoint URL
    
    authorization_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize"
    
    scopes = ["Sites.Read.All"]
    scope = " ".join(["https://graph.microsoft.com/{}".format(s) for s in scopes])
    scope += ("&offline_access")
    
    # Construct the authorization request URL.
    
    auth_params = {
    "client_id": client_id,
    "redirect_uri": redirect_url,
    "response_type": "code",
    "scope": scope
    }
    
    auth_url = authorization_url + "?" + "&".join([f"{key}={value}" for key, value in auth_params.items()])
    
    print(auth_url)
    

    Dane wyjściowe są adresem URL.

  2. W przeglądarce przejdź do adresu URL z danych wyjściowych kodu.

  3. Zaloguj się przy użyciu poświadczeń platformy Microsoft 365.

  4. W oknie dialogowym Żądane Uprawnienia, przejrzyj żądane uprawnienia. Upewnij się, że zawierają sites.read.all i offline_access oraz że czujesz się komfortowo, udzielając ich.

  5. Upewnij się, że identyfikator wiadomości e-mail w górnej części strony odpowiada wiadomości e-mail używanej do uzyskiwania dostępu do danych programu SharePoint.

  6. Upewnij się, że nazwa klienta jest zgodna z poświadczeniami z poprzedniego kroku.

    Okno dialogowe z prośbą o uprawnienia Microsoft

  7. Kliknij przycisk Akceptuj.

    Zostaniesz przekierowany do adresu URL, który określiłeś. Powinieneś także otrzymać kod uwierzytelniania.

  8. Zanotuj kod uwierzytelniania.

  9. Jeśli nie otrzymasz monitu Wymagane uprawnienia, dołącz &prompt=consent do adresu URL.

Krok 5. Pobieranie tokenu odświeżania

Ten krok pobiera token odświeżania w celu ukończenia autoryzacji.

  1. Wklej następujący kod w języku Python do nowej komórki w notesie z poprzedniego kroku. Zmodyfikuj tenant_id, client_id i redirect_url.

    # Use the authentication code to get the refresh token. The code contains the characters &session_state=<string> at the end. Remove these characters and define the modified string as code:
    code = ""
    
    
    # This is the client secret (obtained from the Credentials and Secrets page)
    client_secret = ""
    
    
    # ================= Do not edit code below this line. ==================
    token_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
    
    
    
    
    # Request parameters
    token_params = {
        "client_id": client_id,
        "client_secret": client_secret,
        "code": code,
        "grant_type": "authorization_code",
        "redirect_uri": redirect_url,
        "scope": "profile openid email https://graph.microsoft.com/Sites.Read.All offline_access"
    }
    
    
    # Send POST request to token endpoint
    response = requests.post(token_url, data=token_params)
    
    
    # Handle response
    if response.status_code == 200:
        token_data = response.json()
        refresh_token = token_data.get("refresh_token")
        print("Refresh Token:", refresh_token)
    else:
        print("Error:", response.status_code, response.text)
    
    

Dalsze kroki

  1. Utwórz połączenie w celu przechowywania uzyskanych szczegółów uwierzytelniania.
  2. Utwórz potok pozyskiwania.