Przejdź do głównej zawartości

SharePoint

Integracja z platformą SharePoint umożliwia Speedwave interakcję z bibliotekami dokumentów, nowoczesnymi stronami witryn oraz listami w ramach wybranego zbioru witryn Microsoft 365 za pośrednictwem Microsoft Graph.

Worker SharePoint działa w odrębnym kontenerze. Długoterminowe poświadczenia OAuth (client_id, tenant_id, refresh_token) są bezpiecznie przechowywane na Twoim komputerze (hoście) w pliku ~/.speedwave/oauth/<projekt>/sharepoint.json. Demon hosta automatycznie odświeża tokeny z serwerami tożsamości Microsoft, montując do kontenera wyłącznie krótkoterminowy access_token oraz identyfikator site_id:

  • Folder~/.speedwave/oauth/<projekt>/
    • sharepoint.json (Poświadczenia na hoście)
  • Folder/tokens/ (Montowane do kontenera tylko do odczytu)
    • access_token
    • site_id
flowchart LR
  A[Worker SharePoint] -->|Wymiana / błąd 401| B[Pośrednik OAuth na hoście]
  B -->|Token odświeżania| C[Endpoint Microsoft OAuth]
  C -->|Token dostępu| D["/tokens/access_token"]
  D -->|Odczyt tokena| A

Worker udostępnia 28 operacji dla bibliotek plików, stron oraz list:

NarzędzieZakres działania
listFileIdsPrzeglądanie struktury plików i katalogów w bibliotece dokumentów.
getFileFullOdczyt metadanych plików i właściwości pobierania.
downloadFilePobieranie plików z SharePoint do lokalnego katalogu /workspace.
uploadFileWysyłanie lokalnych plików do SharePoint z kontrolą wersji ETag.
listPagesWykaz nowoczesnych stron w witrynie.
getPagePobieranie układu strony i definicji składników web part.
createPageTworzenie nowoczesnych stron w SharePoint.
updatePagePełna aktualizacja układu i zawartości strony.
addWebPartDodawanie komponentów web part do stron.
updateWebPartModyfikacja właściwości istniejących składników web part.
removeWebPartUsuwanie web partów ze stron.
publishPagePublikowanie szkiców stron do stanu widocznego dla użytkowników.
addImageWebPartWstawianie komponentów graficznych z zasobów witryny.
generateTableOfContentsGenerowanie spisu treści z nagłówków strony.
listListsLista tabel i list danych w witrynie.
getListOdczyt definicji struktury listy i kolumn.
createListTworzenie nowych list SharePoint (wymaga uprawnienia Sites.Manage.All).
updateListModyfikacja tytułu, opisu lub ustawień listy.
deleteListTrwałe usuwanie listy.
addListColumnDodawanie typowanych kolumn do listy (wymaga Sites.Manage.All).
removeListColumnUsuwanie kolumn z listy.
listItemsPobieranie rekordów listy z obsługą filtrów OData $filter.
getItemOdczyt pojedynczego wiersza z listy.
createItemDodawanie nowych rekordów do listy.
updateItemModyfikacja istniejących wierszy w liście.
deleteItemUsuwanie elementów listy.
deletePageUsuwanie stron witryny.
getCurrentUserOdczyt profilu zalogowanego użytkownika.

Operacje dyskowe podlegają rygorystycznej walidacji ścieżek, uniemożliwiając odczyt lub nadpisanie plików konfiguracyjnych (.git, .env, .speedwave, .ssh).

Integracja wymaga zarejestrowania aplikacji w Azure AD i autoryzacji w przepływie Device Flow:

site_id
acme.sharepoint.com:/sites/Marketing:
  1. W aplikacji Desktop przejdź do widoku Integracje -> SharePoint.
  2. Wprowadź client_id, tenant_id oraz site_id.
  3. Rozpocznij połączenie i zatwierdź kod logowania pod adresem https://microsoft.com/devicelogin.
  4. Zaakceptuj wymagane uprawnienia w Azure AD (Sites.Manage.All, Files.ReadWrite.All, User.Read, offline_access).
  5. Zapisz ustawienia, aby aktywować workera.

Worker SharePoint łączy się wyłącznie z API Microsoft Graph w granicach wskazanego zbioru witryn. Długoterminowe tokeny odświeżania nie opuszczają Twojej maszyny lokalnej. Szczegółowe zasady separacji sekretów opisano w rozdziale Zarządzanie poświadczeniami.