php企业号怎么发微信
时间 : 2023-04-01 14:26:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

要使用 PHP 企业号向微信发送消息,需要先进行以下几个步骤:

1. 注册微信企业号并获取企业号的 corpID、secret、agentID 等必要信息;

2. 使用 PHP SDK 进行企业号的配置;

3. 获取 access_token;

4. 调用消息发送接口,发送消息给指定用户或群组。

以下是基于以上步骤的具体实现方法:

1. 注册企业微信号并获取必要信息

在微信企业号官网上注册企业号,依次进入“我的企业”→“应用与小程序”→“自建”,创建一个 Agent。在 Agent 的设置页面中,找到应用的 AgentID 以及 Secret Key。

2. 配置 PHP SDK

下载并配置 PHP SDK(如 easyswoole 的 WeChat),详细说明可参考相关文档。以下是一份示例代码:

use EasySwoole\WeChat\WeChat;

use EasySwoole\WeChat\Bean\OfficialAccount\AccessToken;

$config = [

'app_id' => 'YOUR_APP_ID', // 企业号CorpID

'secret' => 'YOUR_APP_SECRET', // 授权企业号Secret

'agents' => [

'YOUR_AGENT_ID' => [

'token' => 'YOUR_AGENT_TOKEN', // Token

'aes_key' => 'YOUR_AGENT_AES_KEY' // AES Key

]

]

];

$we*** = new WeChat($config);

3. 获取 access_token

在发送消息之前,需要用企业号的 Secret 来获取 access_token,access_token 的有效期为 2 个小时,可以通过缓存方式保存。

以下是获取 access_token 的示例代码:

$accessToken = $we***->officialAccount()->accessToken()->getToken();

4. 调用消息发送接口

企业号提供了不同类型的消息发送接口,如发送文本消息、图片、语音、视频等。以发送文本消息为例,以下是相应代码:

$message = [

'touser' => 'USER_OPENID', // 发送对象的 OpenID

'msgtype' => 'text', // 消息类型

'agentid' => YOUR_AGENT_ID, // 应用 AgentID

'text' => [

'content' => '发一条测试消息' // 消息内容

]

];

$we***->officialAccount()->customerService()->message($message)->send();

上述代码中的 `USER_OPENID` 需要替换为实际的接收用户 OpenID。可以通过用户管理接口获取到用户的 OpenID。如果需要发送给整个组,可以先通过接口获取到相应组的 GroupID,然后按照需求发送消息。

综上所述,到这里就完成了使用 PHP 企业号向微信发送消息的流程。有关更详细的消息类型及发送接口参数的说明,可以参考微信企业号官方文档。

若要通过 PHP 企业号发送微信,可以使用企业微信 API 接口。下面是一个简单的 PHP 示例代码:

```php

<?php

$access_token = "这里填写你的 access_token";

$url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=".$access_token;

$data = array(

"touser" => "@all",

"msgtype" => "text",

"agentid" => 1000001,

"text" => array("content" => "Hello World!")

);

$postdata = json_encode($data);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$result = curl_exec($ch);

if(curl_errno($ch)){

echo 'Curl error: ' . curl_error($ch);

}

curl_close($ch);

echo $result;

?>

在上面的示例代码中,需要填写以下信息:

- `access_token`:企业微信的 access_token,在企业微信后台获取。

- `touser`:消息的接收者,可以是个人、部门、标签、或者全公司。在示例代码中,使用了 `@all` 表示发送给全公司。

- `msgtype`:消息类型,可以是 text、image、voice、video、file、textcard、news、mpnews、mpvideo 和 markdown。在示例代码中,使用了 text 类型。

- `agentid`:应用的 id,需要在企业微信后台创建应用,在应用详情页面查看。

- `text`:文本消息的内容,除了 `content` 字段之外,还可以包括 `safe` 字段和 `mentioned_list`、`mentioned_mobile_list` 字段。在示例代码中,使用了一个简单的文本消息。

发送消息之后,根据接口返回值可以判断消息是否发送成功,返回值包括 `errcode` 和 `errmsg` 两个字段。