# -- coding:utf-8 --import requestsimport hmacimport base64import hashlibimport timeimport randomimport json########test   ############# AppId = '21dd1xx10'# SdkId = '1111140xx326'# SecretID = '5vE111111x11111RnBK83'# SecretKey = 'HkQa111111111111111qFNx9gETo'#########pro  ##############AppId = '210x111x1119'SdkId = '1811111x1147'SecretID = 'qxF1111xxxxxxxxx9OUfxxxxxxg'SecretKey = 'xxxpFxxxwInDpVRxxxxxxXVQRbTN477'def get_sign(method, uri, Params, Nonce1, Time1):    headerString = "X-TC-Key=" + SecretID + "&X-TC-Nonce=" + Nonce1 + "&X-TC-Timestamp=" + Time1    data = method + "\n" + headerString + "\n" + uri + "\n" + Params    data = bytes(data.encode('utf-8'))    key = SecretKey.encode('utf-8')    return (base64.b64encode((hmac.new(key, data, digestmod=hashlib.sha256).hexdigest()).encode('utf-8'))).decode(        'utf-8')def CrateWrok():    uri = '/v1/meetings'    Params = json.dumps({        "userid": "liyao",        "instanceid": 1,        "subject": "tester's meeting",        "type": 0,        "start_time": "1646200421",        "end_time": "1646204021"    })    Signature = get_sign('POST', uri, Params)    Headers['X-TC-Signature'] = Signature    GetData = requests.post("https://api.meeting.qq.com" + uri, headers=Headers, data=Params)    print(GetData.json())    print(Headers)# 获取开课列表def GetWorkList():    uri = "/v1/meetings?userid=admin&instanceid=1"    Signature = get_sign('GET', uri, Params='')    Headers['X-TC-Signature'] = Signature    GetData = requests.get("https://api.meeting.qq.com" + uri, headers=Headers)    print(GetData.json())#user listdef GetuserList1(pagev, page_sizev):    TodyTime = str(int(time.time()))    Nonce = str(int(random.random() * 10000))    Headers = {        "X-TC-Key": SecretID,        "X-TC-Timestamp": TodyTime,        "X-TC-Nonce": Nonce,        "X-TC-Signature": '',        "AppId": AppId,        "SdkId": SdkId,        "X-TC-Registered": "1"    }    uri = "/v1/users/list?page={tpagev}&page_size={tpage_sizev}".format(tpage_sizev=page_sizev, tpagev=pagev)    Signature = get_sign('GET', uri, Params='', Nonce1=Nonce, Time1=TodyTime)    Headers['X-TC-Signature'] = Signature    GetData = requests.get("https://api.meeting.qq.com" + uri, headers=Headers)    #print(GetData.json())    data_count = GetData.json()    return data_count['total_count']#room listdef GetRoomList(pagev, page_sizev, meeting_room_namev):    TodyTime = str(int(time.time()))    Nonce = str(int(random.random() * 10000))    Headers = {        "X-TC-Key": SecretID,        "X-TC-Timestamp": TodyTime,        "X-TC-Nonce": Nonce,        "X-TC-Signature": '',        "AppId": AppId,        "SdkId": SdkId,        "X-TC-Registered": "1"    }    uri = "/v1/meeting-rooms?page={page}&page_size={page_size}&meeting_room_name={meeting_room_name}".format(        meeting_room_name=meeting_room_namev, page_size=page_sizev, page=pagev)    Signature = get_sign('GET', uri, Params='', Nonce1=Nonce, Time1=TodyTime)    Headers['X-TC-Signature'] = Signature    GetData = requests.get("https://api.meeting.qq.com" + uri, headers=Headers)    #print(GetData.json())    data_count = GetData.json()    return data_count['total_count']#查问账户下 Rooms 资源def GetRoominventory():    TodyTime = str(int(time.time()))    Nonce = str(int(random.random() * 10000))    Headers = {        "X-TC-Key": SecretID,        "X-TC-Timestamp": TodyTime,        "X-TC-Nonce": Nonce,        "X-TC-Signature": '',        "AppId": AppId,        "SdkId": SdkId,        "X-TC-Registered": "1"    }    uri = "/v1/rooms-inventory"    Signature = get_sign('GET', uri, Params='', Nonce1=Nonce, Time1=TodyTime)    Headers['X-TC-Signature'] = Signature    GetData = requests.get("https://api.meeting.qq.com" + uri, headers=Headers)    #print(GetData.json())    return GetData.json()