收藏
回答

云函数get请求获取不到结果

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 客户端 666 最新


云函数使用request进行get请求,如何上传参数,添加header信息,并异步回调给js请求结果

最后一次编辑于  01-22  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 王大心
    王大心
    01-22

    const request = require('request-promise');


    exports.main = (event, context) => {

    let cityID = event.cityID;

    const options = {

    method: 'GET',

    url: 'http://d1.weather.com.cn/sk_2d/101010100.html',

    header: {

    Referer: 'http://www.weather.com.cn/weather1d/101010100.shtml'

    },

    json: true

    };

    return await request(options);

    }


    01-22
    赞同
    回复
  • 半寸灰
    半寸灰
    01-22

    参考



    首先安装  request-promise

    npm 命令  npm   install  request-promise


    // 云函数入口文件

    const cloud = require('wx-server-sdk')

    //npm   install  request-promise

    const rp = require('request-promise');

     

    cloud.init()

     

    // 云函数入口函数

    exports.main = async (event, context) => {

     

      //appid   和秘钥  jscode

      const appid = 'wxxxxxxxx',

         secret = 'xxxxxxxxxxxx',_JSCODE='';

     

      const AccessToken_options = {

         method: 'GET',

         url: 'https://api.weixin.qq.com/sns/jscode2session',

         qs: {

           appid,

           secret,

           grant_type:'authorization_code'

          js_code:_JSCODE

        },

         json: true

        

       };

     

      const resultValue = await rp(AccessToken_options);



     


     
     

      return { resultValue }


     

    }

     


    01-22
    赞同
    回复 12
    • 王大心
      王大心
      01-22

      {"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"wx is not defined"}

      01-22
      回复
    • 半寸灰
      半寸灰
      01-23回复王大心

      没安装  sdk

      01-23
      回复
    • 王大心
      王大心
      01-23回复半寸灰

      const cloud = require('wx-server-sdk')

      const request = require('request-promise');


      cloud.init({

       env: "weather-ba6873",

       traceUser: true

      })


      exports.main = (event, context) => {

       let cityID = event.cityID;

       const options = {

         method: 'GET',

         url: 'http://d1.weather.com.cn/sk_2d/101010100.html',

         header: {

           Referer: 'http://www.weather.com.cn/weather1d/101010100.shtml'

         },

         json: true

       };

       return await request(options);

      }


      我是这么写的,报错

      VM151:1 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID 54d23e9c-1eaf-11e9-ab0e-525400235f2a, cloud function service error code -504002, error message Unexpected identifier; at cloud.callFunction api;

      01-23
      回复
    • 半寸灰
      半寸灰
      01-23回复王大心

      Unexpected identifier;  语法错误  。

      自己复制我的去修改吧

      01-23
      回复
    • 王大心
      王大心
      01-23回复半寸灰

      肯定是nodejs的与发错了,不知道我header那么添加对不对,帮忙看下呗

      01-23
      回复
    查看更多(7)