官方网站上能找到的文档都是乱七八糟的,百度搜索也搜索不出什么,最后找到了OpenAPI页面,对着示例编写最后是成功了。有关阿里云的接口都在这里面找就是了,不要再翻帮助文档了。如下是实人认证的连接。各个语言版本都有,挺不错。

地址:https://next.api.aliyun.com/api/Cloudauth/2019-03-07/InitFaceVerify?tab=DEMO&lang=CSHARP

下面总结C#写法:

1、nuget中搜索“AlibabaCloud.SDK.Cloudauth20190307”并安装

2、参考官方OpenAPI对如下代码进行修改。认证时调用下面的InitFaceVerify方法即可。

/// <summary>
/// 接口
/// </summary>
/// <returns></returns>
public JsonResult InitFaceVerify()
{
var renyuanObj = Session[“userid”];

//检查是否已通过验证
var isvalidObj = new JinXin().GetRenyuanByActualid(renyuanObj.身份证号);
if (isvalidObj.认证字符 + “” != “”)
{
return Json(“{\”Message\”: \”已完成认证,请勿重复提交。\”,\”Code\”: \”100\”}”);
}

AlibabaCloud.SDK.Cloudauth20190307.Client client = CreateClient(accessKeyId, accessKeySecret);
AlibabaCloud.SDK.Cloudauth20190307.Models.InitFaceVerifyRequest initFaceVerifyRequest = new AlibabaCloud.SDK.Cloudauth20190307.Models.InitFaceVerifyRequest
{
SceneId = 1000000000,
OuterOrderNo = “1b255e9d2ed14e40b60601b9ad0012f4”,
ProductCode = “ID_PRO”,
CertType = “IDENTITY_CARD”,
CertName = renyuanObj.姓名,
CertNo = renyuanObj.身份证号,
ReturnUrl = Request.Url.ToString().Substring(0, Request.Url.ToString().ToLower().IndexOf(“/jinxin”)) + “/Jinxin/AuthPersonPass”,
MetaInfo = Request.Form[“MetaInfo”] + “”
};
var objResponse = client.InitFaceVerify(initFaceVerifyRequest);
if (objResponse.Body.Code == “200”)
{
Session[“FaceVerify_CertifyId”] = objResponse.Body.ResultObject.CertifyId;
}
return Json(objResponse.Body.ToJsonString());
}

/**
* 使用AK&SK初始化账号Client
* @param accessKeyId
* @param accessKeySecret
* @return Client
* @throws Exception
*/
public AlibabaCloud.SDK.Cloudauth20190307.Client CreateClient(string accessKeyId, string accessKeySecret)
{
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
// 您的AccessKey ID
config.AccessKeyId = accessKeyId;
// 您的AccessKey Secret
config.AccessKeySecret = accessKeySecret;
// 访问的域名
config.Endpoint = “cloudauth.aliyuncs.com”;
return new AlibabaCloud.SDK.Cloudauth20190307.Client(config);
}

 

 

3、人脸完成后,在最后页面调用如下查询结果的代码

   AlibabaCloud.SDK.Cloudauth20190307.Client client = CreateClient(accessKeyId, accessKeySecret);
            AlibabaCloud.SDK.Cloudauth20190307.Models.DescribeFaceVerifyRequest describeFaceVerifyRequest = new AlibabaCloud.SDK.Cloudauth20190307.Models.DescribeFaceVerifyRequest
            {
                SceneId = 1000000000,
                CertifyId = Request.QueryString["vid"] + ""
            };
            var objResponse = client.DescribeFaceVerify(describeFaceVerifyRequest);
            if (objResponse.Body.ResultObject.Passed == "T")   //T为通过
            {
                JObject jobj = JObject.Parse(objResponse.Body.ResultObject.MaterialInfo);
                ViewBag.VerifyInfo = jobj.SelectToken("facialPictureFront")["pictureUrl"];
            }