Auth object has no attribute 'qiniu_headers'
(None, _ResponseInfo__response:None, exception:'Auth' object has no attribute 'qiniu_headers', status_code:-1, text_body:None, req_id:None, x_log:None, error:'Auth' object has no attribute 'qiniu_headers'
解决方案
1. 首先 七牛云是提供了Python发送短信的SDK 的, 但是说明不是很完善才导致这个问题出现
[七牛云SMS短信Python的SDK ](https://github.com/qiniu/python-sdk/tree/master/qiniu/services/sms)
# 使用流程
import json
import random
import requests
# from qiniu.auth import Auth
from qiniu.auth import QiniuMacAuth
from sms import Sms
access_key = ''
secret_key = ''
# 报错解决方案就是 将 Auth类换成 QiniuMacAuth 就可以了
auth = QiniuMacAuth(access_key, secret_key)
# 初始化Sms
sms = Sms(auth)
sms_code = random.randint(1, 9999)
# 发送短信
template_id = ''
req,info = sms.sendMessage(template_id,['16663781203'],{'smscode':1234})
print('>>>>>>>>>>>>',info,req)
报错原因
主要是因为七牛云是多媒体存储平台, 很多人刚开始使用七牛云都是使用上传图片和视频用的, 在上传图片和视频的时候 主要用的 Auth类, 导致大家在使用 七牛云发短信的时候有个惯性思维, 误以为发送短信也是使用的这个类, 才导致会爆出 exception:'Auth' object has no attribute 'qiniu_headers'
这个错, 进入内部看源代码:
问题解决方案
# 发送短信 使用 QiniuMacAuth
from qiniu.auth import QiniuMacAuth