收藏
回答

巨佬们,怎么在云开发serverless的云函数里请求access token?

各路大神下午好,我这个access token想要在sererless的云函数上请求,但总是返回null。

我只了解一点wx.request,对request不是很熟悉。求指点迷津。在这里磕头了,砰砰砰。谢谢!(request包已经npm了)

'use strict';
const appid = ''; //  APPID
const secret = ''; // Secret
const request = require('request')
exports.main_handler = async (event, context, callback) => {
    request({
        url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + secret,
        method: 'POST',
        header: {
            'content-type': 'application/json'
        },
        success(res) {
            return res
            //   return res.data.access_token
        },
        fail(err) {
            return err
        },
    })
}

===end===

最后一次编辑于  2020-04-08
回答关注问题邀请回答
收藏

2 个回答

  • 老张
    老张
    2020-04-08

    建议用request-promise

    2020-04-08
    有用 1
    回复 1
    • 拎包哥
      拎包哥
      2020-04-08
      感谢!我用request-promise也跑起来了!
      2020-04-08
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-04-08
    // request 使用格式如下
    // request(url , function (error, response, body) {})
    
    // 最终答案 
    exports.main_handler = async (event, context, callback) => {
      var url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + secret
      return new Promise((resolve, reject)=>{
          request(url , function (error, response, body) {
          if (!error && response.statusCode == 200) {
            resolve(body)
          }else{
            reject(error)
          }
        })
      })
    }
    

    --↓↓👍点赞是回答的动力哦

    2020-04-08
    有用 1
    回复 10
    • 拎包哥
      拎包哥
      2020-04-08
      感谢酸奶哥的肥答。这个request后并没有需要阻塞的逻辑,请问为什么还需要用promise呢??
      2020-04-08
      回复
    • 拎包哥
      拎包哥
      2020-04-08
      酸奶哥,我已经按照你的代码去做了,可是还是返回null,不知道哪里有疏漏。。。
      2020-04-08
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-04-08回复拎包哥
      你在里面return是无法返回数据的,只有return 一个promise才能返回请求的数据,不然main_handler执行完了 ,也许request还没请求完,就算request在main_handler执行完之前请求完毕了,整个云函数也是没有内容返回的,所以就是null
      2020-04-08
      1
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-04-08回复拎包哥
      你这不是小程序的云函数吗?不过道理应该是一样的
      真实环境运行呢?
      2020-04-08
      1
      回复
    • 拎包哥
      拎包哥
      2020-04-08回复o0o有脾气的酸奶
      我是这里的云函数。可能会有点不一样。好的,我这就先在小程序的云函数里试试
      2020-04-08
      回复
    查看更多(5)
登录 后发表内容
问题标签