wxacode.getUnlimited 调用需要用户openid吗?大神进来看看吧
发布于 5 年前 作者 chao65 6739 次浏览 来自 官方Issues

今天写了一个生成小程序码云函数,主要想在网页端生成小程序码,结果发现在网页端无法正常调用,提示的错误如下

"errCode":-501007,"errMsg":"wxacode.getUnlimited:fail Invalid request param"

但同样的代码在小程序端调用就可以正常生成小程序码,看一下云函数的调用日志,结果发现如下区别

网页端

返回结果
{"errCode":-501007,"errMsg":"wxacode.getUnlimited:fail Invalid request param"}
日志
START RequestId: ebe1e164-5ea4-11ea-88b1-5254003e0a60
Event RequestId: ebe1e164-5ea4-11ea-88b1-5254003e0a60
 
2020-03-05T05:48:21.339Z  { scene: 'code=abc' }

小程序端

返回结果
[{"fileID":"xxxx","status":0,"errMsg":"ok","tempFileURL":"xxxxx"}]
日志
START RequestId: f09f51da-5ea4-11ea-8756-52540054168a
Event RequestId: f09f51da-5ea4-11ea-8756-52540054168a
 
2020-03-05T05:48:29.307Z  { scene: 'id=abc',
  userInfo: 
   { appId: 'xxxxxx', openId: 'xxxx' } }

小程序端带了用户的信息,难道是这个生成小程序码的接口也需要带用户的信息?有人碰到同样的问题吗?怎么解决啊?

下面是云函数的代码,希望大神能帮忙看看

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  var scene = event.scene;
  var page = event.page;

  try {
      const result = await cloud.openapi.wxacode.getUnlimited({
        scene: "id=1",
        isHyaline: true
      })

      // const upload = await cloud.uploadFile({
      //   cloudPath: "login/" + new Date().getTime() + '.jpg',
      //   fileContent: result.buffer,
      // })

      // var fileID = upload.fileID;

      // const fileList = [fileID];
      // const imgList = await cloud.getTempFileURL({
      //   fileList: fileList,
      // })

      return result
    } catch (err) {
      return err
    }

}
2 回复

还有个奇怪的问题,就是如果先在小程序端触发成功了,http也可以触发成功,但是始终无法在http端触发成功

网页端无法正常调用?你是指在网页端通过http触发云函数吗?

回到顶部