【问题标题】:How to connect to Tableau Online using Google Apps Script?如何使用 Google Apps 脚本连接到 Tableau Online?
【发布时间】:2022-01-15 21:54:48
【问题描述】:

我希望使用 URLfetchapp 服务并通过个人访问令牌进行身份验证。我正在尝试利用这里的文档: https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_authentication.htm#sign_in

所以,到目前为止我可以做到这一点,但不幸的是它不起作用。

function myFunction() {
  
var payload = {
  'method' : 'post',
  'muteHttpExceptions' : true,
  'contentType': 'application/json',
    'credentials': {
        "personalAccessTokenName": "Tableau Token",
        "personalAccessTokenSecret": "token secret",
        "site": {
            "contentUrl": "explore"
        }

    }
}
var response =   UrlFetchApp.fetch("https://10ay.online.tableau.com/api/3.13/auth/signin",payload);
Logger.log(response)

}

【问题讨论】:

  • 您收到的回复文本是什么?将其发布在问题文本中。你的问题是什么?
  • payload 丢失。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: google-apps-script tableau-api urlfetch


【解决方案1】:

UrlFetchApp.fetch() 按此顺序接受两个参数:

  • 网址
  • 选项

optionspayload 不同。 payload 是请求正文:

function tableauTM() {
  /*changed name*/ const options = {
    method: 'post',
    muteHttpExceptions: false,
    contentType: 'application/json',
    /*added new param 'payload'*/ payload: /*added JSON.stringify*/ JSON.stringify(
      {
        credentials: {
          personalAccessTokenName: 'Tableau Token',
          personalAccessTokenSecret: 'token secret',
          site: {
            contentUrl: 'explore',
          },
        },
      }
    ),
  };
  const response = UrlFetchApp.fetch(
    'https://10ay.online.tableau.com/api/3.13/auth/signin',
    /*changed*/ options
  );
  /*added method*/ console.log(response.getContentText());
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 2021-06-14
    相关资源
    最近更新 更多