日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信小程序-云开发云调用API没有权限(no permission)问题

發布時間:2024/1/8 编程问答 98 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序-云开发云调用API没有权限(no permission)问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天在學習微信小程序云開發中的在云函數中使用云調用api templateMessage.send 時,在開發環境中運行報錯:function has no permission to call this API
如下圖:

查找總結原因大概有兩點:

  • 云函數所在目錄缺少個權限聲明文件
    config.json
  • {"permissions": {"openapi": ["templateMessage.send"]} }
  • 將微信開發工具升級到 v1.02.1904090 版本以上后,重新上傳部署云函數
  • 解決如上兩個問題后,運行正確

    另外

    在這過程中遇到另外一個問題,在云函數中調用 templateMessage.send 時,
    云函數如下:

    // 云函數入口文件 const cloud = require('wx-server-sdk') cloud.init() exports.main = async (event, context) => {try {let formId = event.formId;const result = await cloud.openapi.templateMessage.send({touser: cloud.getWXContext().OPENID, // 通過 getWXContext 獲取 OPENIDpage: 'index',data: {keyword1: {value: '氫能總部'},keyword2: {value: '小明'},keyword3: {value: '18:00'},keyword4: {value: '云浮思勞氫能小鎮'}},templateId: 'MYlxdani6r7yU0ldtZqadxxxxxxxxxxxxx',formId: formId,emphasisKeyword: 'keyword1.DATA'})// result 結構// { errCode: 0, errMsg: 'openapi.templateMessage.send:ok' }return result} catch (err) {// 錯誤處理// err.errCode !== 0throw err} }

    在開發工具中報錯:openapi.templateMessage.send:fail invalid form id hint
    如下圖:

    經查找原因為:
    在開發工具中支行時, e.detail.formId 的值為 the formId is a mock one
    這個值需要在真機調試中才會正常出現,點擊真機調試,并在手機上再次點擊這個功能按鈕,果然打印了正常的 formId。使用開發工具中的"真機調試"運行成功。

    總結

    以上是生活随笔為你收集整理的微信小程序-云开发云调用API没有权限(no permission)问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。