• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【perl】企业微信发消息

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

https://open.work.weixin.qq.com/api/doc#90000/90135/90236

 

#!/usr/bin/env perl

use strict;
use warnings FATAL => 'all';
use Encode qw(encode_utf8);
use JSON::MaybeXS qw(encode_json decode_json);
use LWP::UserAgent;
use HTTP::Request ();
use HTTP::Response;
use HTTP::Request::Common;

my $tokenurl    = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?';
my $sendurl     = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?';
my $corpid      = '';
my $corpsecret  = '';
my $agentid     =;

sub get_response($) {
  my $req = shift;

  my $ua  = LWP::UserAgent->new(timeout=>10);
  my $res = $ua->request($req);
  # $res->decoded_content / $res->content
  if ( $res->is_success ) {
    my $res_data = decode_json($res->content);
    return (1, $res_data);
  }
  else {
    return (0, $res->status_line);
  }
}

sub get_token {
  my $token_url = $tokenurl . 'corpid=' .$corpid . '&corpsecret=' . $corpsecret;
  my $req = HTTP::Request->new('GET', $token_url);

  my ($r, $res_data) = get_response($req);
  if ( $r ) {
    return ($r, $res_data->{access_token});
  }
  else {
    return ($r, $res_data);
  }

}

sub send_data($$$) {
  my ($token, $user, $content) = @_;
  my $send_url = $sendurl . 'access_token=' . $token;
  my $send_data = {
    'touser'  => $user,
    'msgtype' => 'text',
    'agentid' => $agentid,
    'text'    => {'content' => $content},
    'safe'    => '0'
  };
  my $json = encode_utf8(encode_json($send_data));
  my $req = HTTP::Request->new('POST', $send_url);
  $req->content($json);

  my ($r, $res_data) = get_response($req);
  if ( $r ) {
    return ($r, $res_data->{errmsg});
  }
  else {
    return ($r, $res_data);
  }

}

my ($r, $send_token) = get_token();
print send_data($send_token, 'username', 'hello world');

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
CentOS安装Perl发布时间:2022-07-22
下一篇:
Chilkat.Module.for.Perl.5.10.v9.0.7.x64-BEAN\\发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap