TableauServerUrls.FromContentUrl C# (CSharp) Method

FromContentUrl() public static method

Parse out the server-user and site name from the content URL
public static FromContentUrl ( string userContentUrl, int pageSize ) : TableauServerUrls,
userContentUrl string e.g. https://online.tableausoftware.com/t/tableausupport/workbooks
pageSize int
return TableauServerUrls,
    public static TableauServerUrls FromContentUrl(string userContentUrl, int pageSize)
    {
        userContentUrl = userContentUrl.Trim();
        string foundProtocol = GetProtocolFromUrl(userContentUrl);

        //Find where the server name ends
        string urlAfterProtocol = userContentUrl.Substring(foundProtocol.Length);
        var urlParts = urlAfterProtocol.Split('/');
        string serverName = urlParts[0];

        string siteUrlSegment;
        ServerVersion serverVersion;
        //Check for the site specifier.  Infer the server version based on this URL
        if(urlParts[1] == "t")
        {
            siteUrlSegment = urlParts[2];
            serverVersion = ServerVersion.server8;
        }
        else if((urlParts[1] == "#") && (urlParts[2] == "site"))
        {
            siteUrlSegment = urlParts[3];
            serverVersion = ServerVersion.server9;
        }
        else if (urlParts[1] == "#")
        {
            siteUrlSegment = ""; //Default site
            serverVersion = ServerVersion.server9;
        }
        else
        {
            throw new Exception("Expected /t site splitter in url");
        }

        return new TableauServerUrls(foundProtocol, serverName, siteUrlSegment, pageSize, serverVersion);
    }

Usage Example

Beispiel #1
0
            public void WhenGivenUrlReturnTableauServerUrlsInstance()
            {
                var testObject =
                    TableauServerUrls.FromContentUrl("http://traffk-dev-tab.eastus.cloudapp.azure.com/#/projects", 1);

                Assert.IsNotNull(testObject);
            }
All Usage Examples Of TableauServerUrls::FromContentUrl