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

如何通过API获取amoCRM数据并解决401未授权报错问题

amoCRM API 401错误修复方案

核心错误点与修复方法

  • 域名不匹配错误
    你实际可访问的接口域名为alamiri.amocrm.ru,但代码中请求的URL写为alamiri.amocrm.com,域名后缀错误直接导致认证信息不匹配。
    修复:将代码中的url修改为url = "https://alamiri.amocrm.ru/api/v4/contacts"

  • 请求头冗余且认证参数错误
    amoCRM v4 接口仅需要在请求头携带Authorization字段即可,你在headers中塞入了grant_type、refresh_token、session_id、csrf_token等不属于请求头的 OAuth 认证参数,反而会干扰接口校验。
    同时你Authorization字段使用了非JWT格式的api_key,但代码中已经生成了正确的JWT格式access_token,认证参数传值错误。
    修复:清空冗余请求头,仅保留正确的认证字段:

headers = {
    'Authorization': f'Bearer {access_token}',
    'Content-Type': 'application/json'
}
  • Access Token过期
    你提供的JWT格式access_token的过期时间戳为1637342033,对应北京时间2021-11-20 00:07:13,早已过期。
    修复:按照amoCRM OAuth2流程重新申请有效access_token:
    1. 先使用授权码向https://alamiri.amocrm.ru/oauth2/access_token接口发起POST请求兑换access_token和refresh_token
    2. 后续access_token过期后使用refresh_token换新的有效凭证即可

修正后的参考代码

import requests
import pprint

def get_contacts():
    # 修正为正确的ru域名
    url = "https://alamiri.amocrm.ru/api/v4/contacts"
    # 替换为你最新申请的有效access_token
    valid_access_token = "你新获取的有效JWT格式access_token"
    headers = {
        'Authorization': f'Bearer {valid_access_token}',
        'Content-Type': 'application/json'
    }
    response = requests.get(url, headers=headers)
    pprint.pprint(response.json())

get_contacts()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:54:04