收藏
回答

云函数中调用ocr.idcard总是返回参数错误

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 工具 wx6a83a21477fda083 2.8.0

按照如下指导,使用云调用方式使用

https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/ocr/ocr.idcard.html#method-cloud

// 云函数入口文件
const cloud = require('wx-server-sdk')
 
cloud.init()
 
// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
 
  let imgUrl = 'https://...'
  console.log(encodeURIComponent(imgUrl))
  try {
    const result = await cloud.openapi.ocr.idcard({
      type: 'photo',
      imgUrl: encodeURIComponent(imgUrl)
    })
    console.log(result)
    return result
  } catch (err) {
    console.log(err)
    return err
  }
 
}


云端测试时总是报如下错误:

{ Error: errCode: -501007 invalid parameters | errMsg: ocr.idcard:fail Invalid request param
 
    at new CloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6360:28)
 
    at Object.<anonymous> (/var/user/node_modules/wx-server-sdk/index.js:434:35)
 
    at step (/var/user/node_modules/tslib/tslib.js:136:27)
 
    at Object.next (/var/user/node_modules/tslib/tslib.js:117:57)
 
    at fulfilled (/var/user/node_modules/tslib/tslib.js:107:62)
 
    at <anonymous>
 
    at process._tickCallback (internal/process/next_tick.js:188:7)
 
  errCode: -501007,
 
  errMsg: 'ocr.idcard:fail Invalid request param' }
 
END RequestId: 0161d73f-ba95-11e9-abb2-5254002fa145
 
Report RequestId: 0161d73f-ba95-11e9-abb2-5254002fa145 Duration:94ms Memory:256MB MaxMemoryUsed:3.371094MB


NOTE: 此代码中的imgUrl是身份证照片,此处省略,测试时是有效的url。

使用https方式调用时是可以成功的,代码很简单,怀疑是个云端bug

回答关注问题邀请回答
收藏

2 个回答

  • 邓坤力
    邓坤力
    2019-08-28

    如果不 encodeURIComponent?

    2019-08-28
    有用
    回复
  • DOU@簇格运动
    DOU@簇格运动
    2019-08-12

    @官方 请看一下

    2019-08-12
    有用
    回复
登录 后发表内容
问题标签