Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >来自Postman vs Web App的REST API身份验证

来自Postman vs Web App的REST API身份验证
EN

Stack Overflow用户
提问于 2017-12-27 17:27:28
回答 1查看 574关注 0票数 0

我正试图通过REST API在Tableau服务器上执行一些操作,我需要Auth令牌。我试着使用Postman的signin API,它的效果非常好。然而,当我尝试从我的网页上的javacript代码调用时,同样的代码给出了"Bad Request“错误。

代码语言:javascript
运行
AI代码解释
复制
var dataVal = {
    "credentials": {
        "name": "admin",
        "password": "admin",
        "site": {
            "contentUrl": "MySite"
        }
    }
};

$.ajax({
    contentType: 'application/json',
    data: JSON.stringify(dataVal),
    dataType: 'jsonp',
    success: function (data) {
        console.log("call succeeded");
    },
    error: function (request, textStatus, errorThrown) {
        console.log(request.getAllResponseHeaders());
    },
    processData: false,
    type: 'POST',
    url: 'http://mytableauserver/api/2.6/auth/signin'
});

以上代码从postman返回token、siteid、userid,但从javascript代码返回""BAD REQUEST“”错误。任何指针将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-03-23 01:07:32

对于其他正在寻找的人来说,Tableau现在支持CORS,但目前只支持Tableau Server

代码语言:javascript
运行
AI代码解释
复制
Enabling CORS on Tableau Server for the REST API
For security, most web browsers restrict HTTP requests to the same origin. That is, to 
access a resource on a server through an API, the request must come from the same 
origin (server), or a proxy must be set up to handle the request.

Tableau Server now supports Cross-Origin Resource Sharing (CORS), so you can do away 
with your proxy and call the REST API from the browser. The CORS mechanism is 
currently only enabled for Tableau Server, and can be turned on by server 
administrators in a couple of steps using the TSM command-line tool. To learn more, 
see the description of the vizportal.rest_api.cors.allow_origin option in tsm 
configuration set Options. As a security measure, you should make API calls to Tableau 
Server using the HTTPS protocol (SSL or TLS). See Using HTTPS (SSL/TLS) for API Calls.

Add the origins that need access to the Tableau Server.

Determine the origins (servers) you want to allow access to the REST API, and use the 
tsm configuration set command with the vizportal.rest_api.cors.allow_origin option. 
For example, to grant access to one two origins, https://mysite and https://yoursite, 
you would stop the server (tsm stop) and then use the following command:

tsm configuration set -k vizportal.rest_api.cors.allow_origin -v 
https://mysite,https://yoursite
You can enter multiple origins. Use a comma to separate the entries.

Note: You could also use an asterisk (*) as a wild card to match all sites. This is 
not recommended as it allows access from any origin that has access to the server and 
could present a security risk. Do not use an asterisk (*) unless you fully understand 
the implications and risks for your site.

Enable CORS on Tableau Server.

Use the tsm configuration set command with the vizportal.rest_api.cors.enabled option. 
The default setting is false, so set this to true as follows:

tsm configuration set -k vizportal.rest_api.cors.enabled -v true
Update your Tableau Server configuration (tsm pending-changes apply)  to restart 
Tableau Server and make the changes take effect.  Only the origins you specify will 
have access.

https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_fundamentals.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47996257

复制
相关文章
[技巧]如何在Google Chrome中启用Windows MR支持?
1 月下旬的时候,我们报道过 Google Chromium 将引入对 Windows MR 混合现实头显支持的消息。现在,在最新的 Chrome Canary 分支中,谷歌已经正式加入了专属标记。如需启用,请移步至 chrome://flags,搜索 Windows Mixed Reality,然后选择启用(Enabled)。
Zip
2019/03/06
1.2K0
[技巧]如何在Google Chrome中启用Windows MR支持?
videojs实际应用
一个页面一个video,点击切换显示不同的画面 <div v-html="videoHtml"> </div> initVideo(){ this.videoHtml = '<video ref="videotest" id="video" width="865" height="460" preload="auto" class="video-js" controls></video>' this.$nextTick(()=>{ let option
tianyawhl
2022/08/07
1.9K0
videojs中文文档详解 videojs有什么用处
当在工作中需要展示文档,视频等内容时,对于怎么展示相关视频,转载相关视频格式难倒了许许多多的人。而上相关网站搜索得出来的关键词videojs也让很多人疑惑不已。那么什么是videojs?下面就一起看看吧。
用户8715145
2021/06/24
4.2K0
如何在SwiftUI中实现interactiveDismissDisabled
由于健康笔记[2]中数据录入都是在Sheet中进行的,为了防止用户在录入过程中由于误操作(使用手势取消Sheet)丢失数据,因此,从最初的版本开始,我就一直使用各种手段加强对Sheet的控制。
东坡肘子
2022/07/28
4K0
如何在SwiftUI中实现interactiveDismissDisabled
如何在 MongoDB 中实现事务
在 MongoDB 中,事务可以用于在一个或多个集合上执行多个操作。事务可以帮助确保数据的一致性和可靠性。
玖叁叁
2023/04/14
2.6K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
30K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
videojs插件使用「建议收藏」
使用整理:使用主要针对于移动端视频播放,考虑的点:视频显示适配手机宽度;适配定义样式;在微信端,安卓、ios视频空间控件不同,定制等会自动被微信视频控件覆盖;播放过程中定制暂停/播放按钮事件等;播放结束后定制重播、下一个视频事件,读秒播放下一个视频
全栈程序员站长
2022/11/01
10.5K0
如何在Python中实现RFM分析
本文介绍了如何利用Python实现RFM分析。首先,介绍了RFM分析的基本概念,然后详细讲解了如何在Python中实现这个过程。主要包括计算RFM各项分值、归总RFM分值、根据RFM分值对客户分类以及具体的算法实现。最后,介绍了在Python中应用RFM分析的示例代码。
Erin
2018/01/09
4K0
如何在Python中实现RFM分析
如何在Excel中实现手写签名?
Hello各位,本葡萄又来啦,今天遇到的场景是这样的:在日常业务流程中,经常需要某一流程环节中相关责任人员进行审批签字,早期许多公司为了省事就直接会把这位负责人的签名以键盘打字(楷体)的形式打印出来,但是这样的坏处就是会导致所有的负责人的签名都是一样的,没有美感,为了解决这个问题,一些公司就开始使用手写签名(用鼠标写出来的签名)代替电子签名,今天本葡萄就为大家简单的介绍下手写签名到底是怎么实现的。话不多说,先上效果图:
葡萄城控件
2023/10/16
7600
如何在Excel中实现手写签名?
如何在Impala中实现拉链表
拉链表是针对数据仓库设计中表存储数据的方式而定义的,即是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。传统数据仓库一般采用拉链的方式保留主数据(例如客户信息)的变化数据,采用这种设计方式的主要原因是减少数据冗余。这个需求在Hadoop中主要是有以下两种实现方式选择:
Fayson
2018/03/29
3.1K0
如何在Python中实现矩阵分析
Erin
2018/01/09
2.6K0
如何在Python中实现矩阵分析
如何在 Google 跟踪代码管理器 (GTM) 中安装 Matomo 跟踪?
将 Matomo 跟踪添加到您的 Google 跟踪代码管理器非常简单。本指南为 Matomo 云客户和 Matomo 本地用户解释了入门所需的所有步骤。
西里国际站
2023/08/23
4680
如何在 Google 跟踪代码管理器 (GTM) 中安装 Matomo 跟踪?
如何在Google搜索到我的网站?
我需要解析的域名为 taixingyiji.com,我的域名解析商是CloudFlare
taixingyiji
2022/07/25
2.3K0
如何在Google搜索到我的网站?
如何在 PowerBI 中实现矩阵行中迷你图
这里显示了每位销售经理的 YTD 销售完成以及他的目标之间的差异,并通过迷你图实现了快速预览,以便直观看出其销售趋势。
BI佐罗
2022/01/05
6.1K0
如何在 PowerBI 中实现矩阵行中迷你图
如何在MATLAB中实现各种特殊上标?
本文只针对特殊上标情况,上下角标可由符号“^”或者“_”实现,故不在本文讨论范围之内,特殊上标的示例如下图所示。
巴山学长
2021/07/30
4.6K0
如何在Kubernetes中实现容器原地升级
在Docker的世界,容器镜像作为不可变基础设施,解决了环境依赖的难题,而Kubernetes将这提升到了Pod的高度,希望每次应用的更新都通过ReCreate Pod的方式完成,这个理念是非常好的,这样每次ReCreate都是全新的、干净的应用环境。对于微服务的部署,这种方式并没有带来多大的负担,而对于传统应用的部署,一个Pod中可能包含了主业务容器,还有不可剥离的依赖业务容器,以及SideCar组件容器等,这时的Pod就显得很臃肿了,如果因为要更新其中一个SideCar Container而继续按照ReCreate Pod的方式进行整个Pod的重建,那负担还是很大的,体现在:
Walton
2019/04/15
6.7K0
如何在Kubernetes中实现容器原地升级
如何在小程序中实现音频播放
在如何使用小程序媒体组件这篇文章中,我们介绍了小程序媒体组件的使用,但是对音频组件部分讲的不够详细,本文将对音频部分做些补充。
硬盘侠
2018/11/12
17.6K0
如何在 ClickHouse 中实现行列转换
当我们在进行数据分析时,时常会遇到行转列、列转行的查询需求。今天就来聊一聊如何在 CH 中实现这些查询。
Nauu
2020/06/29
14.5K0
点击加载更多

相似问题

使用Google ima sdk和videojs在广告中搜索

114

IMA问题- Google IMA HTML5 SDK

17

带需求的Videojs-ima插件(不包括加载插件)

14

同时集成google Ima SDK和IMA DAI SDK

14

使用VideoJS Vr实现VideoJs / HolaPlayer

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档