微信企业号发消息php代码及 {"errcode":82001,"errmsg":"All touser & toparty & totag invalid"}错误

{“errcode”:82001,”errmsg”:”All touser & toparty & totag invalid”}错误一般是因为权限不够,无法使用通讯录,需要去企业号添加。

$data = $user->where("id='$fromid'")->find();
$fromname = $data["name"];
$fromid = $data["jobid"];
$data = $user->where("id='$toid'")->find();
$toname = $data["name"];
$toid = $data["jobid"];
$weixin = new \Org\Util\weixin();
$access_token = $weixin->refreshAccessToken();
$sendMsg = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$access_token";

$ftmp = '{
       "touser": "'.$toid.'",
       "toparty": "",  //参数可选
       "totag": "",    //参数可选
       "msgtype": "text",
       "agentid": 9,    //注意(corpID,secret)和应用必须有相关通讯录权限
       "text": {
           "content": "恭喜您,获得来自'.$fromname.'的'.$count.'积分,原因:'.$remark.'"
       },
       "safe":0
    }';

$ttmp = '{
       "touser": "'.$fromid.'",
       "toparty": "",
       "totag": "",
       "msgtype": "text",
       "agentid": 9,
       "text": {
           "content": "积分变动:发放给'.$toname.'积分'.$count.',原因:'.$remark.'"
       },
       "safe":0
    }';

$this->https_request($sendMsg,$ftmp);
$this->https_request($sendMsg,$ttmp);

注意微信发送带中文信息时,如果你用json_encode()话要经过简单处理。我这里使用的是拼凑json字符串。
微信接收json数据提示invalid charset. please check your request, if include \uxxxx will create fail!

### 三级标题:微信错误代码 61006 “component ticket is invalid”的解决方案 微信开放平台中,错误代码 `61006` 表示 `component ticket is invalid`,即组件 ticket 无效。这一错误通常出现在开发者尝试使用 `component_verify_ticket` 获取第三方平台 `access_token` 时,由于 ticket 参数错误或过期导致请求失败。`component_verify_ticket` 是微信开放平台用于验证第三方平台身份的重要凭证,开发者需确保其正确性和时效性。 在第三方平台开发过程中,`component_verify_ticket` 是通过微信服务器定时推送的加密消息获取的,开发者需通过解析 `POST` 请求中的加密内容获取 `encryptMsg`,并进行解密操作。未正确解析 `encryptMsg` 或未及时更新 `component_verify_ticket` 均可能导致 ticket 无效问题。具体而言,推送的 `encryptMsg` 包含 `component_verify_ticket`,开发者需通过 `timestamp`、`nonce`、`encrypt_type` 和 `msg_sign` 验证数据完整性,并使用 `encodingAesKey` 解密获取明文内容[^1]。 开发者在处理 `component_verify_ticket` 时,需确保以下几点: 1. 正确配置 `encodingAesKey` 并用于解密推送的加密消息。 2. 使用 `file_get_contents('php://input')` 获取原始 `POST` 数据,确保数据完整无误。 3. 在数据库中存储 `component_verify_ticket`,并定期更新以确保其有效性。 以下是一个用于存储 `component_verify_ticket` 的数据库操作示例: ```php $sql = "INSERT INTO cjapp_weixin_account (appId, token, encodingAesKey, component_verify_ticket) VALUES ('$appId', '$token', '$encodingAesKey', '$component_verify_ticket')"; ``` 此外,开发者应确保调用 `api_component_token` 接口时传递的小程序 `appid` 和 `secret` 正确无误,否则可能导致 ticket 无法使用[^2]。 ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值