调用七牛接口提示参数错误

按照这个文档http://docs.qiniu.com/api/v6/bucket-stat.html查询七牛bucket空间使用情况,
按文档调用接口stat/select/space?bucket=&from=&to=&p=时,
提示参数错误 {u'error': u'invalid show type'}或{u'error': u'invalid argument'},请问是什么地方出问题了?代码如下:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import requests
import hmac
import logging

from urlparse import urlparse
from hashlib import sha1
from base64 import urlsafe_b64encode
from qiniu.auth.digest import Mac

AK = ""
SK = ""

class Bucket(object):
   def __init__(self, accessKey, secretKey):
        self.mac = Mac(accessKey, secretKey)
        self.host = "http://api.qiniu.com"

    def getAccessToken(self, url, body, contentType):
        return self.mac.sign_request(url, body, contentType)

    def getAuthorization(self, accessToken):
        return "QBox %s" % accessToken 

    def query(self, url):
        accessToken = self.getAccessToken(url, "", "")
        auth = self.getAuthorization(accessToken)

        headers = {"Authorization": auth}
        try:
            res = requests.get(url, headers=headers) 
        except Exception, e:
            logging.error(e)
            return None

        return res.json()

    def statByMonth(self, bucket, month):
        query = "/stat/info?bucket=%s&month=%s" % (bucket, month)
        url = self.host + query 
        return self.query(url)

    def statSpace(self, bucket, start, to, p):
        query = "/stat/select/space?bucket=%s&from=%s&to=%s&p=%s"
        query = query % (bucket, start, to, p)

        url = self.host + query
        return self.query(url)


if __name__ == "__main__":
    bucket = "testbucket"
    b = Bucket(AK, SK)

    month = "201501"
    print b.statByMonth(bucket, month)


    start = "20150129"
    to = "20150130"
    p = "5min"
    print b.statSpace(bucket, start, to, p) 
阅读 5.5k
1 个回答

经过确认,目前已经不提供5min为粒度的用量查询接口了,你可以修改粒度为day或者month来查询,都是没有问题的,你的代码能够跑通,另外建议你这边将sdk的版本更新到7.x版本,新版本的python-sdk虽然接口规格改动比较大,但是接口更加规范和全面。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进