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.
Izolacja poświadczeń i pośrednik hosta OAuth
Dział zatytułowany „Izolacja poświadczeń i pośrednik hosta OAuth”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
Zestawienie narzędzi
Dział zatytułowany „Zestawienie narzędzi”Worker udostępnia 28 operacji dla bibliotek plików, stron oraz list:
| Narzędzie | Zakres działania |
|---|---|
listFileIds | Przeglądanie struktury plików i katalogów w bibliotece dokumentów. |
getFileFull | Odczyt metadanych plików i właściwości pobierania. |
downloadFile | Pobieranie plików z SharePoint do lokalnego katalogu /workspace. |
uploadFile | Wysyłanie lokalnych plików do SharePoint z kontrolą wersji ETag. |
listPages | Wykaz nowoczesnych stron w witrynie. |
getPage | Pobieranie układu strony i definicji składników web part. |
createPage | Tworzenie nowoczesnych stron w SharePoint. |
updatePage | Pełna aktualizacja układu i zawartości strony. |
addWebPart | Dodawanie komponentów web part do stron. |
updateWebPart | Modyfikacja właściwości istniejących składników web part. |
removeWebPart | Usuwanie web partów ze stron. |
publishPage | Publikowanie szkiców stron do stanu widocznego dla użytkowników. |
addImageWebPart | Wstawianie komponentów graficznych z zasobów witryny. |
generateTableOfContents | Generowanie spisu treści z nagłówków strony. |
listLists | Lista tabel i list danych w witrynie. |
getList | Odczyt definicji struktury listy i kolumn. |
createList | Tworzenie nowych list SharePoint (wymaga uprawnienia Sites.Manage.All). |
updateList | Modyfikacja tytułu, opisu lub ustawień listy. |
deleteList | Trwałe usuwanie listy. |
addListColumn | Dodawanie typowanych kolumn do listy (wymaga Sites.Manage.All). |
removeListColumn | Usuwanie kolumn z listy. |
listItems | Pobieranie rekordów listy z obsługą filtrów OData $filter. |
getItem | Odczyt pojedynczego wiersza z listy. |
createItem | Dodawanie nowych rekordów do listy. |
updateItem | Modyfikacja istniejących wierszy w liście. |
deleteItem | Usuwanie elementów listy. |
deletePage | Usuwanie stron witryny. |
getCurrentUser | Odczyt profilu zalogowanego użytkownika. |
Operacje dyskowe podlegają rygorystycznej walidacji ścieżek, uniemożliwiając odczyt lub nadpisanie plików konfiguracyjnych (.git, .env, .speedwave, .ssh). Ścieżki w SharePoint podaje się względem katalogu głównego biblioteki dokumentów witryny, tak jak zwraca je narzędzie listFileIds. Odrzucane są ścieżki zawierające .., rozpoczynające się od ukośnika lub ukośnika odwrotnego, zawierające dwukropek (np. literę dysku) albo bajt zerowy, a także ścieżki ze strukturą kodowania URL zagnieżdżoną na więcej niż pięciu poziomach.
Konfiguracja
Dział zatytułowany „Konfiguracja”Integracja wymaga zarejestrowania aplikacji w Azure AD i autoryzacji w przepływie Device Flow:
acme.sharepoint.com:/sites/Marketing:{hostname},{site-guid},{web-guid}- W aplikacji Desktop przejdź do widoku Integracje -> SharePoint.
- Wprowadź
client_id,tenant_idorazsite_id. - Rozpocznij połączenie i zatwierdź kod logowania pod adresem
https://microsoft.com/devicelogin. - Zaakceptuj wymagane uprawnienia w Azure AD (
Sites.Manage.All,Files.ReadWrite.All,User.Read,offline_access). - Zapisz ustawienia, aby aktywować workera.
Bezpieczeństwo
Dział zatytułowany „Bezpieczeństwo”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.