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

调用Planday API遇JWT格式错误及401未授权问题求助

解决Planday API请求的JWT格式错误与401授权问题

问题梳理

  1. 执行curl请求HR模块时返回JWT格式错误:

    curl --location "https://openapi.planday.com/hr/v1/employees" \
      --header "Content-Type: application/json" \
      --header "X-ClientId: <ID>" \
      --header "Authorization: Bearer <TOKEN>"
    

    Jwt is not in the form of Header.Payload.Signature with two dots and 3 sections

  2. 手动添加-X GET/--request GET参数后,出现URL格式错误,偶尔误报未指定ID。

  3. Python请求排班模块返回401未授权:

    response = requests.get('https://openapi.planday.com/scheduling/v1.0/shifts',
      headers= {"Authorization":"Bearer <TOKEN>", 'X-ClientId':'<ID>'})
    

Python解决思路及实操步骤

1. 先验证JWT令牌的有效性与格式

  • 核对<TOKEN>是否为标准三段式结构:Header.Payload.Signature,必须包含两个英文点号(.),无多余空格、换行或特殊字符。
  • 可通过JWT解码工具验证令牌结构,重点检查exp(过期时间)字段是否在有效期内。

2. 修正Python请求代码

以下是可直接复用的完整请求示例,替换占位符即可:

import requests

# 替换为你的真实凭据
CLIENT_ID = "你的ClientId"
VALID_JWT_TOKEN = "你的完整JWT令牌"

# 选择目标API地址(HR或排班模块)
target_url = "https://openapi.planday.com/hr/v1/employees"
# target_url = "https://openapi.planday.com/scheduling/v1.0/shifts"

headers = {
    "X-ClientId": CLIENT_ID,
    "Authorization": f"Bearer {VALID_JWT_TOKEN}",
    # GET请求通常不需要Content-Type,若API明确要求可保留
    "Content-Type": "application/json"
}

try:
    response = requests.get(target_url, headers=headers)
    # 打印调试信息,方便排查问题
    print(f"状态码: {response.status_code}")
    print(f"响应详情: {response.text}")

    if response.status_code == 200:
        json_data = response.json()
        print("数据获取成功:", json_data)
        # 这里可添加你的业务逻辑处理
    else:
        print(f"请求失败原因: {response.reason}")
except Exception as e:
    print(f"请求异常: {str(e)}")

3. 排查401错误的核心方向

  • 令牌问题:重新通过Planday授权流程获取新令牌,确保令牌未过期、未被篡改。
  • 凭据匹配:确认X-ClientId与生成令牌时使用的Client ID完全一致,无拼写错误。
  • 权限配置:在Planday开发者后台检查应用权限,确保已开通HR或Scheduling模块的访问权限。
  • 请求头格式:Authorization头必须严格遵循Bearer (注意空格)+令牌的格式,不能省略空格。

4. curl命令的额外提示

  • GET是curl默认请求方法,无需手动添加-X GET或--request GET,多余参数可能导致URL解析错误。
  • 复制命令时确保引号、换行反斜杠格式完整,避免终端解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:12:17