【问题标题】:Kairos API : subject_id one or more required parameters are missingKairos API:subject_id 缺少一个或多个必需参数
【发布时间】:2018-02-05 21:33:58
【问题描述】:

我正在尝试使用 kairos API 注册个人资料图片。我有以下 python 代码。

我的 python 脚本:

#!/usr/bin/python3

import requests
import io
import http.client
import base64
import json
import glob, os
from os.path import basename

dir_path = "/home/Kairos/profiles/msc/" 

os.chdir(dir_path)

for file in glob.glob("*.*"):
    img_path = file
    print(img_path)
    files = {'image': (img_path, open(dir_path + img_path, 'rb'), 'image/jpg', {'Expires': '0'})}

    headers = {
        'app_id': "xxxx",
        'app_key': "xxxxxxxxxxxxxxxxxxxxxx",
    }

    values_enrol = {
       'subject_id':'msc',
       'gallery_name':'mscGallary'
    }

    res = requests.post('https://api.kairos.com/enroll', headers=headers, files=files, data=values_enrol)

    print(res.content)

但是,我遇到了一个错误:

 "Errors": [
        {
            "ErrCode": 1002,
            "Message": "subject_id one or more required parameters are missing"
        },
        {
            "ErrCode": 1002,
            "Message": "gallery_name one or more required parameters are missing"
        }
    ]
}

我在这里做错了什么?请有人帮助我。

提前致谢。

【问题讨论】:

  • 在 api 文档中它说“图像”应该是一个 url。为什么不使用他们的 python 代码?

标签: python python-3.x face-recognition kairos-api


【解决方案1】:

我找到了解决方案:

def build_payload(file):    
    if file is not None:
        image = extract_base64_contents(file)
    else:
        image = url

    values_enrol = {
       'image': image,
       'gallery_name': sys.argv[1],
    }

    return dict(values_enrol)

def extract_base64_contents(file):
    with open(file, 'rb') as fp:
        image = base64.b64encode(fp.read()).decode('ascii')
    return image

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 2018-09-09
    • 2014-09-13
    • 1970-01-01
    • 2018-11-08
    • 2022-01-27
    相关资源
    最近更新 更多