ホームページ  >  記事  >  バックエンド開発  >  WeChat 公開アカウントでの無制限のグループ メッセージ

WeChat 公開アカウントでの無制限のグループ メッセージ

WBOY
WBOYオリジナル
2016-07-25 08:46:391213ブラウズ
WeChat カスタマー サービス インターフェイスを利用して、さまざまなメッセージを無制限に大量送信できます
  1. ? /*
  2. 著者:yf
  3. 使用手順: WeChat パブリック アカウントのワイヤレス グループ送信インターフェイス、使用例:
  4. $test = new SendAllMsg("your appId", "your appSecret");
  5. $test->sendMsgToAll(); // 一括送信メソッドを呼び出します
  6. 注: 1. 使用条件: 認証番号またはテスト番号
  7. 2. 一括メッセージのコンテンツは、グラフィック、テキスト、音楽などです。 $dataの具体的な内容については、WeChat開発ドキュメント/カスタマーサービスインターフェースを参照してください
  8. 3. ユーザー数が10,000を超える場合、getUserInfo()を変更する必要があります。詳細については、開発ドキュメント/フォロワーリストの取得を参照してください。
  9. 初心者の方はアドバイスをお願いします。よろしくお願いします
  10. */
  11. Interface iSendAllMsg{
  12. function getData($url) //curl は get リクエストを送信します
  13. function postData($url,$data); // curl は投稿リクエストを送信します
  14. function getAccessToken(); //このメソッドは、access_token を取得するために構築メソッドで呼び出されています。wx サーバー上の保存時間は 7200 秒であることに注意してください
  15. function sendMsgToAll(); // グループ メッセージング メソッド送信されるメッセージ $データは自分で変更できます
  16. }
  17. class SendAllMsgimplements iSendAllMsg{
  18. private $appId;
  19. private $access_token ;
  20. //
  21. public function __construct($appId, $appSecret) {
  22. $this ->appId = $appId;
  23. $this->appSecret = $appSecret;
  24. $this->access_token = $this-> ;getAccessToken();
  25. }
  26. //
  27. function getData($url){
  28. $ch =カール_init();
  29. curl_setopt($ch, CURLOPT_URL, $url);
  30. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  31. curl_setopt($ch, CURLOPT_HEADER, 0);
  32. curl_setopt($ch, CURLOPT_USERAGENT, ' Mozilla/5.0 (互換性; MSIE 5.01; Windows NT 5.0)');
  33. curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
  34. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
  35. $data =curl_exec($ch);
  36. curl_close($ch);
  37. return $data;
  38. }
  39. //
  40. function postData($url,$data){
  41. $ch =curl_init();
  42. curl_setopt($ch, CURLOPT_URL, $url);
  43. curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
  44. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  45. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST , FALSE );
  46. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (互換性あり; MSIE) 5.01 ; Windows NT 5.0)');
  47. curl_setopt($ch、CURLOPT_FOLLOWLOCATION、1);
  48. curl_setopt($ch、CURLOPT_AUTOREFERER、1);
  49. curl_setopt($ch、CURLOPT_POSTFIELDS、$data);
  50. curl_setopt($ch、CURLOPT_RETURNTRANSFER) 、 true);
  51. $tmpInfo =curl_exec($ch);
  52. if (curl_errno($ch)) {
  53. returncurl_error($ch);
  54. }
  55. curl_close($ch);
  56. return $tmpInfo;
  57. }
  58. //
  59. function getAccessToken(){
  60. $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type= client_credential&appid=".$this->appId."&secret=".$this- >appSecret;
  61. $res = $this->getData($url);
  62. $jres = json_decode($res,true);
  63. $access_token = $jres['access_token'];
  64. return $access_token;
  65. }
  66. //
  67. プライベート関数 getUserInfo(){
  68. $url = "https://api.weixin.qq.com/cgi-bin/ user/get?access_token=".$this->access_token;
  69. $res = $this->getData($url);
  70. $jres = json_decode($res,true);
  71. //print_r($jres) ;
  72. $userInfoList = $jres['data']['openid'];
  73. return $userInfoList;
  74. }
  75. function sendMsgToAll(){
  76. $userInfoList = $this->getUserInfo();
  77. $url = "https://api.weixin.qq.com/cgi-bin/message/custom/ send?access_token=".$this->access_token;
  78. foreach($userInfoList as $val){
  79. $data = '{
  80. " touser":"'.$val.'",
  81. "msgtype":"text ",
  82. "text":
  83. {
  84. "content":"お手数ですがテストしてください"
  85. }
  86. }';
  87. $this ->postData($url,$data);
  88. }
  89. }
  90. }
  91. $test = new SendAllMsg("YOURappId","YOURappSecret");
  92. $test->sendMsgToall();
  93. ?>
コードをコピー

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。