Cél URL kinyerése a dokumentumtárak hivatkozásaiból

Gyárilag a SharePoint dokumentumtárak a különféle dokumentum tartalomtípusok tárolásán kívül hivatkozások elhelyezését is lehetővé teszik.

Új hivatkozás létrehozása

Viszonylag egyszerű egy hivatkozás létrehozása, az Új / Hivatkozás menüpont használatával megnyílik egy oldalsáv, ahol vagy a nemrég használt dokumentumok közül választhatunk, vagy megadhatjuk kézzel is az elérési utat, ahova a hivatkozás mutatni fog.

Egyedi frontend / SPFx kijelző (webpart) fejlesztésekor, ha dokumentumtár elemeivel kell dolgoznunk, támogatnunk kell az összes beépített tartalomtípust, így a hivatkozásokat is. A probléma ott kezdődik, hogy ha a dokumentumoknál is használt elérési utat töltjük be és oda irányítjuk a felhasználót, amikor egy ilyen hivatkozásra kattint, a dokumentumtárban található .url végződésű elemet próbálja meg megnyitni a böngésző, és mivel ezt nem tudja kezelni, ezért letölti. Illetve csak letöltené, de az url formátum fekete listán van, ezért a felhasználó egy ilyen hibaüzenetbe fog ütközni:

A(z) greentie.hu.url fájl letöltése le lett tiltva, mert az ilyen típusú fájlok kárt okozhatnak az eszközön.

Ez egyáltalán nem az a működés, amit el akarunk érni, így szükség lesz egy kis kiegészítésre a dokumentumok betöltésekor.

A dokumentumokat általában a

Másolás a vágólapra
[SHAREPOINT WEBHELY CÍME]/_api/web/lists/getByTitle('DOKUMENTUMTÁR NEVE')/items?$select=*,EncodedAbsUrl,ServerRedirectedEmbedUri,Author/Title,Author/Name,FileLeafRef,File_x0020_Type&$expand=Author

végpontról szoktuk lekérni. A select paraméter segítségével adjuk meg, hogy mely mezőket akarjuk lekérni, az expand pedig az összetett mezők (pl. személy vagy csoport, lista) értékének kibontásához szükségesek.

A fenti végpontnál ezeket kértük le:

  • *: minden nem rejtett mező

  • EncodedAbsUrl: a dokumentum elérési útvonala

  • ServerRedirectedEmbedUri: Azoknál a formátumoknál, ahol a SharePoint biztosít nézegetőt/szerkesztőt, ezzel a linkkel nyithatjuk meg a dokumentumot az alkalmazásban

  • Author/Title: A Létrehozta mezőben tárolt személy neve. Az expand=Author szükséges ahhoz, hogy ki tudjuk bontani a szerző objektumának ezt a mezőjét.

  • Author/Name: A Létrehozta mezőben tárolt személy login neve (általában i:0#.f|membership|FELHASZNÁLÓ EMAIL CÍME). Az expand=Author szükséges ahhoz, hogy ki tudjuk bontani a szerző objektumának ezt a mezőjét.

  • FileLeafRef: A dokumentum neve és formátuma (pl. dokumentum.docx).

  • File_x0020_Type: A dokumentum formátuma

Sajnos az EncodedAbsUrl a konkrét .url fájlra mutat, így ezt a hivatkozásnál nem tudjuk használni. Van aki azt az utat választja, hogy beolvassa a fájlt, kinyeri belőle a linket és úgy kezeli ezt a helyzetet, de van ennél egyszerűbb megoldás is:

Properties/vti_x005f_shortcuturl

A hivatkozás típusú elemeknél egyszerűen csak adjuk hozzá a select paraméterhez a Properties/vti_x005f_shortcuturl értéket, és ne felejtsük el az expand paramétert értékeit is kiegészíteni a Properties-el. Így a fenti végpont erre változik:

Másolás a vágólapra
[SHAREPOINT WEBHELY CÍME]/_api/web/lists/getByTitle('DOKUMENTUMTÁR NEVE')/items?$select=*,EncodedAbsUrl,ServerRedirectedEmbedUri,Author/Title,Author/Name,FileLeafRef,File_x0020_Type,Properties/vti_x005f_shortcuturl&$expand=Author,Properties

A File_x0020_Type értéke alapján tehát szűrhetünk az .url formátumú fájlokra, és ezeknél a ServerRedirectedEmbedUri, vagy az EncodedAbsUrl helyett beállíthatjuk az újonnan lekért mező értékét, így tökéletesen fog működni az átirányítás.

Windows tisztítása
Előző bejegyzésWindows tisztítása
Vissza a Tudástárba
Következő bejegyzésSharePoint csoporttagság ellenőrzése Power Apps-ben flow nélkül
SharePoint csoporttagság ellenőrzése Power Apps-ben flow nélkül
Copyright © 2025. Green Tie Bt. | Minden jog fenntartva
Icons by Icons8