Power BI对接Wufoo API拉取数据遇400错误及导航器无数据问询
Wufoo对接Power BI无数据/报错问题修复方案
1 直接使用「从Web获取数据」报400错误的解决
Wufoo API仅接受HTTPS协议请求,你最初填写的URL使用了HTTP协议,直接将URL开头的http://替换为https://即可解决该报错。
2 Python脚本本地运行正常但Power BI无数据的解决
Power BI读取Python脚本导入数据时,仅会识别脚本运行后内存中存在的Pandas DataFrame对象,你当前的脚本仅对获取到的JSON数据做了打印操作,没有生成Power BI可识别的结构化表对象,因此导航器无数据显示。
修改后的可用脚本如下:
import urllib.request import json import pandas as pd base_url = 'https://ewolford.wufoo.com/api/v3/' username = '替换为你的Wufoo API密钥' password = '任意非空字符串即可' password_manager = urllib.request.HTTPPasswordMgrWithDefaultRealm() password_manager.add_password(None, base_url, username, password) handler = urllib.request.HTTPBasicAuthHandler(password_manager) opener = urllib.request.build_opener(handler) urllib.request.install_opener(opener) response = urllib.request.urlopen(base_url+'forms/hash/entries.json?sort=EntryId&sortDirection=DESC') data = json.load(response) # 将Wufoo返回的表单条目转换为Pandas DataFrame供Power BI识别 df = pd.DataFrame(data['Entries'])
更简单的无代码对接方案
不需要编写Python脚本,直接用Power BI原生Web数据源即可完成对接,步骤如下:
- 打开Power BI,依次点击「获取数据」→「Web」
- 输入完整HTTPS API地址:
https://ewolford.wufoo.com/api/v3/forms/替换为你的表单哈希/entries.json?sort=EntryId&sortDirection=DESC - 身份验证方式选择「基本」,用户名栏填写你的Wufoo API密钥,密码栏填写任意非空值,点击「连接」
- 解析JSON结构后找到
Entries列表,点击加载即可直接导入数据
注意:Wufoo API单次请求最多返回100条数据,如果你表单数据量超过100条,需要在URL后添加
&page=页码参数(页码从0开始递增)拉取全量数据。
内容的提问来源于stack exchange,提问作者Patman521
相关产品推荐
相关产品推荐

