Forum Discussion
Sharepoint Rest: Get library url
Hi,
How do I get the library URL?
I tried with ServerRestUrl but I am getting undefined :-/
Best regards
Americo
4 Replies
- Shantha KumarBrass ContributorHi, If you are using SharePoint Online, you can try the below code for retrieving the Library URL, $.ajax({ url: hostweburl + "/_api/web/AppTiles?$filter=BaseTemplate eq 101", method: "GET", headers: { "Accept": "application/json; odata=verbose" }, success: function (response) { var libItems = ""; $(response.d.results).each(function(){ libItems +="<li><a href='"+this.Target+"'>"+this.Title+"</a></li>"; }); $('#libitems').html(libItems); console.log(response); alert(response.d.results.length); }, error: function (data) { failure(data); } });
 SharePoint Online returns the collection of lists, libraries and subsites under the below rest endpoint, https://<tenant>.sharepoint.com/_api/web/AppTiles Regards, Shantha Kumar T 
- Americo PerezIron ContributorI managed solve the url thing by creating it manually like this: hostweburl + '/' + this.Title But I noted another problem: In the site I have created 2 libraries "test" and "test2" but in the result, besides this 2 libraries, I am also getting system libraries like "MicroFeed", "appfiles", "appdata", etc. I there a way to filter this system folder out? This is how I am sending my request: url: appweburl + "/_api/SP.AppContextSite(@target)/web/lists?@target='" + hostweburl + "'" and later I am using this: $(results).each(function () {
 items.push('<li class="element">'
 + '<a target="_parent" href="' + hostweburl + '/' + this.Title + '">' + this.Title + '</a>'
 + '</li>');
 });Any tips?? Americo - AnonymousCan you try below? /_api/web/lists/getbytitle('Document Library Name')/Items?$select=Title,FileLeafRef,EncodedAbsThumbnailUrl,EncodedAbsUrlThe example above returns information about your file such as the name, full url and the internal “Title”:  For instances where you want to know the “type” of document library it is (example Picture Library vs Document Library), use: 1/_api/web/lists/getbytitle('Document Library Name')/BaseTemplateAlthough some information regarding document libraries require an entirely new endpoint. This includes file paths, subfolders, thumbnails and such. 1/_api/web/GetFolderByServerRelativeUrl('"Folder Name"')/FilesThe above contains an entire new set of information regarding your library. - Americo PerezIron ContributorHi, Thanks! There is a little difference with the proposal you posted. I need to get the list of all libraries that is why I am using: url: appweburl + "/_api/SP.AppContextSite(@target)/web/lists?@target='" + hostweburl + "'" without pointing to a specific library. The result I am getting doesn't contains "EncodedAbsUrl" in the respons. This is the response for one of the libraries: Best regards Americo