public Url_WorkbooksListForUser ( TableauServerSignIn, session, string userId, int pageSize, int pageNumber = 1 ) : string | ||
session | TableauServerSignIn, | |
userId | string | |
pageSize | int | |
pageNumber | int | |
return | string |
/// <summary> /// Get a page's worth of Workbook listings /// </summary> /// <param name="onlineWorkbooks"></param> /// <param name="pageToRequest">Page # we are requesting (1 based)</param> /// <param name="totalNumberPages">Total # of pages of data that Server can return us</param> private void ExecuteRequest_ForPage(List <SiteWorkbook> onlineWorkbooks, int pageToRequest, out int totalNumberPages) { int pageSize = _onlineUrls.PageSize; //Create a web request, in including the users logged-in auth information in the request headers var urlQuery = _onlineUrls.Url_WorkbooksListForUser(_onlineSession, _userIdForWorkbookQuery, pageSize, pageToRequest, SortDirectiveForContentQuery()); _onlineSession.StatusLog.AddStatus("Web request: " + urlQuery, -10); var xmlDoc = ResourceSafe_PerformWebRequest_GetXmlDocument(urlQuery, "get workbooks list"); //var webRequest = CreateLoggedInWebRequest(urlQuery); //webRequest.Method = "GET"; //var response = GetWebReponseLogErrors(webRequest, "get workbooks list"); //var xmlDoc = GetWebResponseAsXml(response); //Get all the workbook nodes var nsManager = XmlHelper.CreateTableauXmlNamespaceManager("iwsOnline"); var workbooks = xmlDoc.SelectNodes("//iwsOnline:workbook", nsManager); //Get information for each of the data sources foreach (XmlNode itemXml in workbooks) { try { var ds = new SiteWorkbook(itemXml); onlineWorkbooks.Add(ds); } catch { AppDiagnostics.Assert(false, "Workbook parse error"); _onlineSession.StatusLog.AddError("Error parsing workbook: " + itemXml.InnerXml); } } //end: foreach //------------------------------------------------------------------- //Get the updated page-count //------------------------------------------------------------------- totalNumberPages = DownloadPaginationHelper.GetNumberOfPagesFromPagination( xmlDoc.SelectSingleNode("//iwsOnline:pagination", nsManager), pageSize); }