收藏
回答

服务端发起企业微信小程序通知消息时,一直报title中文字数过长或过短但实际上我传5个字.

问题模块 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 Bug 服务端:小程序通知消息 工具 未发布 1.2.0
//服务端代码    
public function sendMessage()
    {
        $app = Factory::work($this->config);
        $accessToken = $app->access_token;
        $token = $accessToken->getToken(); // token 数组  token['access_token'] 字符串
        $data = [
            'touser' => 'userid',
//            'toparty' => ["partyid1", "partyid2", "LinkedId1/partyid1", "LinkedId2/partyid2"],
//            'totag' => ["tagid1", "tagid2"],
            'msgtype' => 'miniprogram_notice',
            'miniprogram_notice' => [
                'appid' => 'wxappid',
//                'page' => 'pages/index?userid=zhangsan&orderid=123123123',
                "title" => "一二三四五",
                "description" => "测试推送",
                "emphasis_first_item" => true,
                "content_item" => [
                    [
                        "key" => "会议室",
                        "value" => "402"
                    ]
                ]
            ],
        ];
        $client = new \GuzzleHttp\Client();
        $response = $client->request('POST', 'https://qyapi.weixin.qq.com/cgi-bin/linkedcorp/message/send', [
            'query' => ['access_token' => $token['access_token']],
            'json'  => $data,
        ]);
        file_put_contents('./sendNotice.txt', date('Y-m-d H:i:s') . " 请求参数:" . json_encode($data) . "\r\n", FILE_APPEND);
        $result = $response->getBody();
        file_put_contents('./sendNotice.txt', date('Y-m-d H:i:s') . " 回调结果:" . $result . "\r\n", FILE_APPEND);
        $result = json_decode($result, true);
        if (empty($result['errcode']))
            $this->success(OPERATE_SUCCESS,$result,OPERATE_SUCCESS_CODE);
        $this->error(OPERATE_FAIL,$result,OPERATE_FAIL_CODE);
    }

发送的json数据体:{"touser":"userid","msgtype":"miniprogram_notice","miniprogram_notice":{"appid":"appid","title":"\u4e00\u4e8c\u4e09\u56db\u4e94","description":"\u6d4b\u8bd5\u63a8\u9001","emphasis_first_item":true,"content_item":[{"key":"\u4f1a\u8bae\u5ba4","value":"402"}]}}
企业微信的回调:{"errcode":40058,"errmsg":"Invalid input : miniprogram_notice.title exceed max chinese words 12. invalid Request Parameter, hint: [1579587920_56_fb131810df5a36b3c3b2b7c7544c6a88], from ip: , more info at https://open.work.weixin.qq.com/devtool/query?e=40058","invaliduser":[],"invalidparty":[],"invalidtag":[]}

实际上我发的miniprogram_notice.title字段才五个字而已,企业微信的回调告诉我的是说我的字数超了?????我很不解,希望能解答我的疑惑,现在项目急需接通这个api


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

1 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    01-21
    您好,看这里是传的这个title:\u4e00\u4e8c\u4e09\u56db\u4e94,传的unicode 但是实际上这个unicode已经被转换成字符串了,可以检查下,或者直接传中文上来也可以 
    


    01-21
    赞同
    回复 12
    查看更多(7)
登录 后发表内容
问题标签