You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Raspberry Pi Pico W上通过Zoho Creator API实现无浏览器授权调用?

解决Raspberry Pi Pico W向Zoho Creator表单发送POST请求的OAuth授权问题

问题核心

Zoho Creator API不支持Client Credentials Grant授权模式,导致Raspberry Pi Pico W这类无浏览器的嵌入式设备无法自动获取或刷新访问令牌,只能手动每10分钟更新授权码,无法实现无人值守的事件记录。

可行替代方案

1. 使用Zoho Creator永久Auth Token

Zoho Creator提供了无需OAuth的永久授权令牌,可直接用于API请求:

  • 登录Zoho Creator后台,进入目标应用
  • 依次进入「设置」>「API设置」>「生成Auth Token」
  • 勾选表单数据写入等所需权限,生成后复制该Token
  • 在Pico W的POST请求头中加入:Authorization: Zoho-oauthtoken <你的Auth Token>,即可直接调用API提交数据

2. 搭建轻量代理服务(适合需权限管控场景)

如果不想在Pico W中存储永久Token,可在云服务器上搭建简单代理,由代理处理OAuth令牌刷新:

  • 先通过浏览器获取Zoho的刷新令牌(有效期可设置至10年)
  • 代理服务定期用刷新令牌自动获取新访问令牌,接收Pico W的事件数据后转发至Zoho Creator API
  • 示例Python代理代码:
import requests
from flask import Flask, request

app = Flask(__name__)

# 替换为你的Zoho凭证和表单API地址
ZOHO_REFRESH_TOKEN = "你的刷新令牌"
ZOHO_CLIENT_ID = "你的客户端ID"
ZOHO_CLIENT_SECRET = "你的客户端密钥"
ZOHO_FORM_API_URL = "https://creator.zoho.com/api/v2.1/你的账户名/你的应用名/表单/你的表单名/records"

def get_access_token():
    token_url = "https://accounts.zoho.com/oauth/v2/token"
    payload = {
        "refresh_token": ZOHO_REFRESH_TOKEN,
        "client_id": ZOHO_CLIENT_ID,
        "client_secret": ZOHO_CLIENT_SECRET,
        "grant_type": "refresh_token"
    }
    resp = requests.post(token_url, data=payload)
    return resp.json()["access_token"]

@app.route('/submit-event', methods=['POST'])
def forward_event():
    access_token = get_access_token()
    headers = {
        "Authorization": f"Zoho-oauthtoken {access_token}",
        "Content-Type": "application/json"
    }
    event_data = request.get_json()
    zoho_resp = requests.post(ZOHO_FORM_API_URL, json=event_data, headers=headers)
    return zoho_resp.json()

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
  • Pico W只需向代理的/submit-event接口发送POST请求,无需处理任何OAuth逻辑

3. 利用Zoho Creator Webhook功能

如果事件记录逻辑允许,可直接使用Webhook替代API调用:

  • 在Zoho Creator表单设置中配置Webhook,启用API密钥验证
  • Pico W直接向Webhook地址发送POST请求,请求头中带上配置的API密钥即可完成数据提交

关键注意事项

  • 永久Auth Token需妥善保管,泄露后立即在后台重置
  • 代理服务需保证稳定运行,避免令牌刷新失败导致数据提交中断
  • 所有请求必须使用HTTPS,防止数据传输过程中泄露

内容的提问来源于stack exchange,提问作者dcs_2002

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 08:33:36