Tableau WDC V3.0如何为内部调用的外部API添加访问令牌认证?
Tableau WDC V3 内部API请求认证方案
问题
开发Tableau WDC V3时,需要对接一个要求access token的外部API,但找不到给WDC内部发起的API请求加认证的方法——这里说的不是WDC自身的认证,是它调用外部API时的身份验证。翻遍官方SDK文档、教程和社区论坛,要么是针对V2的内容,要么讲的是WDC自身的认证,完全找不到对应信息。
想问问在Fetcher里用axios调用URL并设置请求头,算不算最佳实践?
原尝试代码
import { Fetcher, FetchUtils } from '@tableau/taco-toolkit/handlers' export default class DataFetcher extends Fetcher { async *fetch({ handlerInput }) { const headers = { 'Authorization': `Bearer ${process.env.API_TOKEN}` }; yield await axios.get(handlerInput.data.url, { headers }) .then(response => { return response.data }) .catch(error => { log('Internal Server Error'); return null }); } }
解决更新
问题已经搞定了。因为Service Worker和axios兼容性很差,得换成fetch来调用。之前误解了FetchUtils.fetchJson的文档说明,修正代码之后就正常工作了。
内容的提问来源于stack exchange,提问作者Jacob Dallas
相关产品推荐
相关产品推荐

