server-client-python icon indicating copy to clipboard operation
server-client-python copied to clipboard

[Type 1] Implement Tableau Cloud-specific requests for the Subscriptions endpoint

Open zozi0406 opened this issue 1 year ago • 1 comments

Description:

The Subscriptions endpoint works somewhat differently for Tableau Cloud & Tableau Server, in that the subscription schedule needs to be defined as part of the request for Tableau Cloud. As of now, TSC only supports the request format for the Server endpoint, where a schedule id needs to be provided. This feature would implement the Tableau Cloud request format alongside the Tableau Server format. The subscriptions REST API documentation: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_subscriptions.htm#tableau-cloud-request

A "quick-and-dirty" implementation could allow the user to specify in the SubscriptionItem definition that instead of schedule_id, they'd like to set all the Tableau Cloud-specific fields. However, if it is expected that more API methods will have Tableau Server & Cloud versions, it could be beneficial to automatically detect Tableau Cloud vs Tableau Server during the construction of the Server object and pick the correct endpoint specs accordingly. TSC doesn't currently seem to have a way to distinguish between requests made to Tableau Cloud & Tableau Server, so this would need to be added first, potentially by checking the server URL for (online.tableau.com).

zozi0406 avatar May 15 '24 11:05 zozi0406

Any news on this? I seem to have stumbled upon the same issue. It works well on my Tableau Server instance but not on my Cloud instance. It appears the create and update methods of the subscriptions endpoint do not work for Tableau Cloud in the same way they work on the front-end when performing the task manually.

CodingOnWindowsOS avatar Dec 14 '24 19:12 CodingOnWindowsOS