Я использую Tableau REST API через C #, чтобы попытаться получить список избранных пользователей.Я знаю, что у пользователя есть, потому что это я.Я пытался использовать API версии 2.8,3.0, 3.1 и 3.2 практически без радости.2.8 и 3.0 отвечают:
<?xml version='1.0' encoding='UTF-8'?>
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-2.8.xsd"> //3.0.xsd when using API Version 3.0
<favorites/> //There should be a plethora of favorites of all varieties in here.
</tsResponse>
3.1 и 3.2 дают мне (404) Не найдено.
Код, который я имею в c #:
public static string QueryFavourites(string APIVersion, string AuthToken, string SiteID, string UserID)
{
string result = "";
try
{
string url = $@"{Server}/api/{APIVersion}/sites/{SiteID}/favorites/{UserID}";
// Create the web request
WebRequest request = WebRequest.Create(url) as WebRequest;
request.PreAuthenticate = true;
request.Headers.Add($"x-tableau-auth: {AuthToken}");
// Get response
using (WebResponse response = request.GetResponse())
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// Read the whole contents and return as a string
result = reader.ReadToEnd();
}
return result;
}
catch(Exception E)
{
logger.Error("Error! System Says: " + E.Message);
return result;
}
}
Я знаю, что метод работает, так как он используется для нескольких других вызовов API, используя разные URL для каждого (в зависимости от вызова).Кто-нибудь знает, если это проблема в конце таблицы или на моем конце?Видимо, он должен работать с сервером Tableau 2.8 или выше, который у нас есть.(я думаю, что мы запускаем 2018.1)
Может ли кто-нибудь получить список избранного для пользователя, используя tableau REST API?Где я ошибаюсь?
(я также разместил вопрос на форуме Tableau .)
ОБНОВЛЕНИЕ:
Я включил CURL иЗаголовки запроса, а также результаты, на скриншотах ниже.(Я использую «Клиент Restlet» больше, чем «Почтальон», поэтому скриншоты взяты с первого.) Идентификаторы и токены аутентификации были удалены, поскольку они являются конфиденциальной информацией, и я не думаю, что моя компания была бы счастлива, если бы я разместил их наобщедоступный интернет.Все идентификаторы и ключи авторизации находятся в правильном регистре и представлены правильно.Они успешно используются в нескольких других вызовах API и извлекаются непосредственно из Tableau через API.
Исключения, которые я обнаружил, - это невозможность найти версию API, которую я вызываю.так v2.6 - v2.8 и v3.0 все "работают".Другие версии возвращают ошибку 404001 VERSION_NOT_FOUND
.