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

无法通过Sinch发送SMS:HTTP Error 401 Unauthorized问题求助

问题

我想通过Sinch发送短信,已经在Sinch官网注册并获取了app_key和app_secret,但执行发送短信的代码时一直报错,不管号码带不带国家区号,都会出现HTTP Error 401: Unauthorized错误。

代码示例

import time
from time import sleep
from sinchsms import SinchSMS

# 发送短信函数
def sendSMS():
    # 填写相关信息
    # app_key和app_secret需在Sinch官网注册应用后获取
    number = '+91XXXXXXXXX'
    app_key = 'KEY_ID'
    app_secret = 'Key_secret'

    # 要发送的消息内容
    message = 'Hello Message!!!'

    client = SinchSMS(app_key, app_secret)
    print("Sending '%s' to %s" % (message, number))

    response = client.send_message(number, message)
    message_id = response['messageId']
    response = client.check_status(message_id)

    # 循环检查直到状态变为成功
    while response['status'] != 'Successful':
        print(response['status'])
        time.sleep(1)
        response = client.check_status(message_id)

    print(response['status'])

if __name__ == "__main__":
    sendSMS()

报错信息

Sending 'Hello Message!!!' to +91XXXXXXXXXX
---------------------------------------------------------------------------
HTTPError                                 Traceback (most recent call last)
<ipython-input-47-97ce28144276> in <cell line: 35>()
     34 
     35 if __name__ == "__main__":
---> 36         sendSMS()

8 frames
/usr/lib/python3.10/urllib/request.py in http_error_default(self, req, fp, code, msg, hdrs)
    641 class HTTPDefaultErrorHandler(BaseHandler):
    642     def http_error_default(self, req, fp, code, msg, hdrs):
---> 643         raise HTTPError(req.full_url, code, msg, hdrs, fp)
    644 
    645 class HTTPRedirectHandler(BaseHandler):

HTTPError: HTTP Error 401: Unauthorized
解决方案

401 Unauthorized错误本质是身份验证失败,以下是针对性的排查和解决步骤:

  • 确认app_key和app_secret完全正确
    检查代码里填写的app_key和app_secret是否和Sinch控制台复制的完全一致,注意区分大小写,不要包含多余的空格或特殊字符,很多时候是复制时的小失误导致验证失败。

  • 验证账号状态与余额
    确认Sinch账号已完成邮箱激活(试用账号需此步骤),付费账号要检查余额是否充足,余额不足也可能触发权限类错误。

  • 检查区域发送权限
    确认你的账号允许向目标国家(如代码中的+91印度)发送短信,部分区域可能需要额外申请开通,试用账号也可能限制部分国家的短信服务。

  • 核对SDK版本兼容性
    你使用的sinchsms库可能是旧版本,Sinch API可能已更新,建议更换为官方推荐的最新SDK进行开发,避免因API版本不匹配导致认证失败。

  • 测试直接调用REST API
    部分旧SDK的认证逻辑可能不符合当前Sinch API要求,可以尝试直接调用REST API排查:

    1. 通过app_key和app_secret获取Bearer Token
    2. 用Token作为Authorization头调用短信发送接口
      以此确认是否是SDK的认证逻辑存在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:27:28