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).
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.