以下引自《腾讯企业邮箱OpenApi协议v1.0》

腾讯企业邮箱开放协议,包括面向第三方合作应用和面向企业邮用户两类。其中,面向
企业邮用户的开放协议, 将提供给企业邮用户丰富的应用接口, 用户可以根据这些接口定制
自己统一的企业解决方案。
通过协议接口,企业用户可以实现:
1) 单点登录
可以从公司 OA 系统、网站一键进入企业邮箱,免去登录过程。
2) 新邮件提醒
新邮件将即时在 OA 等办公系统提醒你。
3) 数据同步
数据同步可以帮助你同步部门成员信息, 你还可以创建、 删除、 修改帐号, 同步部门信息等。

我一直想用PHP来实现这些功能的调用,把腾讯官方提供的这份简单的文档研究了下,终于弄出来了。做个笔记,如下:
在使用OpenApi接口之前,要先准备好开通腾讯企业邮箱的管理员ID,接口Key(这个可以去企业邮箱管理后台获取)和需要调用信息的邮箱名,然后就可以进行相关调用了,PHP代码如下:

// 首先获取AccessToken// 企业邮箱的管理员ID
$cTMailID = 'mymailid';
// 在管理后台获取的接口Key
$cTMailSecret = 'a1234567890b1234567890c123456789';
// 需要调用信息的邮箱名
$cTMailAlias = 'mailalias';
// 获取Token的地址
$cTMailGetAccessTokenURL = 'https://exmail.qq.com/cgi-bin/token';
$cTMailContentData = 'grant_type=client_credentials&client_id=' . $cTMailID . '&client_secret=' . $cTMailSecret;// 获取access_token
// 不要问我为什么这么写,早就忘记了!-_-
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$cTMailGetAccessTokenURL);
curl_setopt($ch,CURLOPT_POSTFIELDS,$cTMailContentData);
curl_setopt($ch,CURLOPT_ENCODING,'UTF-8');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1 );
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
$cTMailAccessToken = $json_obj['access_token'];// 打印获取的AccessToken
echo $cTMailAccessToken . '
';// 获取auth_key
$cTMailGetAuthKeyURL = 'http://openapi.exmail.qq.com:12211/openapi/mail/authkey';
$cTMailContentData = 'access_token=' . $cTMailAccessToken . '&alias=' . $cTMailAlias;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$cTMailGetAuthKeyURL);
curl_setopt($ch,CURLOPT_POSTFIELDS,$cTMailContentData);
curl_setopt($ch,CURLOPT_ENCODING,'UTF-8');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1 );
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
$cTMailAuthKey = $json_obj['auth_key'];// 一键登录
$cURL = 'https://exmail.qq.com/cgi-bin/login?fun=bizopenssologin&method=bizauth&agent=' . $cTMailID . '&user=' . $cTMailAlias . '&ticket=' . $cTMailAuthKey;
echo '一键登录';// 获取用户信息
$cTMailPostURL = 'http://openapi.exmail.qq.com:12211/openapi/user/get';
$cTMailContentData = 'access_token=' . $cTMailAccessToken . '&alias=' . $cTMailAlias;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$cTMailPostURL);
curl_setopt($ch,CURLOPT_POSTFIELDS,$cTMailContentData);
curl_setopt($ch,CURLOPT_ENCODING,'UTF-8');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 75);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
print_r($json_obj);
echo '
';
echo 'Email地址:' . $json_obj['Alias'] . '
';
echo '姓名:' . $json_obj['Name'] . '
';
echo '性别:' . $json_obj['Gender'] . '
';
echo '职位:' . $json_obj['Position'] . '
';
echo '电话:' . $json_obj['Tel'] . '
';
echo '手机号码:' . $json_obj['Mobile'] . '
';
echo '员工编号:' . $json_obj['ExtId'] . '
';// 获取用户未读邮件数量
$cTMailPostURL = 'http://openapi.exmail.qq.com:12211/openapi/mail/newcount';
$cTMailContentData = 'access_token=' . $cTMailAccessToken . '&alias=' . $cTMailAlias;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$cTMailPostURL);
curl_setopt($ch,CURLOPT_POSTFIELDS,$cTMailContentData);
curl_setopt($ch,CURLOPT_ENCODING,'UTF-8');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 75);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
// 打印获取的信息
print_r($json_obj);// 客户端维持长连接
$cTMailPostURL = 'http://openapi.exmail.qq.com:12211/openapi/listen';
$cTMailContentData = 'access_token=' . $cTMailAccessToken . '&alias=' . $cTMailAlias;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$cTMailPostURL);
curl_setopt($ch,CURLOPT_POSTFIELDS,$cTMailContentData);
curl_setopt($ch,CURLOPT_ENCODING,'UTF-8');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 75);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
print_r($json_obj);// 获取子部门列表
$cTMailPostURL = 'http://openapi.exmail.qq.com:12211/openapi/party/list';
$cTMailContentData = 'access_token=' . $cTMailAccessToken . '&partypath=';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$cTMailPostURL);
curl_setopt($ch,CURLOPT_POSTFIELDS,$cTMailContentData);
curl_setopt($ch,CURLOPT_ENCODING,'UTF-8');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1 );
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
echo '
获取的子部门列表:';
print_r($json_obj);// 获取部门下成员列表
$cTMailPostURL = 'http://openapi.exmail.qq.com:12211/openapi/partyuser/list';
$cTMailContentData = 'access_token=' . $cTMailAccessToken . '&partypath=XX公司/财务部';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$cTMailPostURL);
curl_setopt($ch,CURLOPT_POSTFIELDS,$cTMailContentData);
curl_setopt($ch,CURLOPT_ENCODING,'UTF-8');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1 );
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
echo '
获取的子部门成员列表:';
print_r($json_obj);

原文参考:http://www.barhe.org/archives/561
官方手册:http://cdn.markdream.com/ref/mat/%E8%85%BE%E8%AE%AF%E4%BC%81%E4%B8%9A%E9%82%AE%E7%AE%B1OpenApi%E5%8D%8F%E8%AE%AEv1.0.pdf

利用PHP调用BizMail OpenApi(腾讯企业邮箱)进行接口开发相关推荐

  1. 腾讯企业邮箱OpenApi调用说明

    笔者最近在调用腾讯企业邮箱的接口,但因为项目使用的是2016年的老接口,不是新接口(https://exmail.qq.com/qy_mng_logic/doc#10001) 因此找到了之前的老接口文 ...

  2. 腾讯企业邮箱接口说明文档

    http://download.csdn.net/my/uploads/1 1. 开放协议简介 腾讯企业邮箱开放协议,包括面向第三方合作应用和面向企业邮用户两类.其中,面向企业邮用户的开放协议,将提供 ...

  3. python获取未读邮箱数目_利用腾讯企业邮箱开放API获取账户未读邮件数初探

    1 /// 2 ///POST时用到的几个数据3 /// 4 public structPostData5 {6 /// 7 ///目标服务器地址8 /// 9 public stringurl;10 ...

  4. 腾讯企业邮箱OpenApi

    一.发送http请求的工具类 import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; ...

  5. 利用python 脚本实现腾讯企业邮箱附件的批量下载

    因为有需求,所以自己就稍微琢磨了一下这个东西,然后代码是从网上找的,目前我已经自测过是可以使用的,而且非常方便省事,这里分享给大家! 直接上代码: # _*_ coding: utf-8 _*_ im ...

  6. 使用腾讯企业邮箱调用SpringMail或者JavaMail发送邮件的发送服务器设置

    本来计划不到一天完成的邮件发送任务,因为要使用公司的腾讯企业邮箱而折腾了一天半,最后终于在网上看到了这个帖子,腾讯企业邮箱给出的 企业邮箱提示是错误的: 接收服务器: pop.exmail.qq.co ...

  7. 腾讯企业邮箱API实现单点登录和获取企业未读邮件

    应公司要求在ERP平台的OA系统上显示企业邮箱的未读邮件数量,并且实现单点登录.也就是点击数字可以直接进入腾讯企业邮箱不用登录.既然用到这个API肯定大家也都有腾讯企业邮箱OpenApi协议v1.4文 ...

  8. python程序下载腾讯企业邮箱附件_获取腾讯企业邮箱通讯录python脚本(带登录功能)...

    之前的 帖子 加入了 @ sdc1992 提供的登录部分 根据邮箱和密码,获取企业通讯录 运行后会生成两个文件 一个只包含邮箱,可以用于后续爆破 一个为部门名称 和 部门下的员工邮箱的树形结构,可以方 ...

  9. 腾讯企业邮箱api java_腾讯企业邮箱API实现同步成员资料

    同步成员资料相当于腾讯企业邮箱中对成员的增删改操作.文档里面各种不完善的参数传递走了很多弯路也算是初步成功了 直接贴代码: private void AddPersonEnterpriseMailbo ...

最新文章

  1. 音乐与现代计算机技术,计算机技术在音乐教学中应用与研究.doc
  2. 系统服务器巡查表,服务器操作系统巡检表
  3. vim代码格式化自动加空格_vim格式化代码实际上就是 缩进代码, 命令是等号=
  4. 支持与不支持in-place操作的OpenCV函数汇总
  5. 【抽奖】若川诚邀你加前端群,长期交流学习~
  6. Hadoop开发工具简介
  7. linux桌面lxde 安装_观点|最新精简型 Linux 桌面环境大比拼:LXDE Vs. Xfce Vs. MATE
  8. 2022数据库排行榜新鲜出炉!MySQL大势已去,PostgreSQL即将崛起!
  9. 模糊综合评价模型原理及matlab实现
  10. [ CSOL - CLS ] 活动网站 map area
  11. Linux 程序编译过程详解
  12. Vue todos代办事项功能
  13. 后台管理系统模板,简易模板
  14. matlab安装后不能打开怎么办,matlab7.0安装后打不开_matlab7.0安装后不能用
  15. Android应用上架国内各大应用市场对应用Logo、应用截图要求整理
  16. 群友问题,如何面对繁杂的数据需求?
  17. 微软文本转语音小工具(Text to speech)网页版
  18. 离散数学:关系的性质
  19. 开发高并发系统的三把利器
  20. springmvc考研交流平台 java ssm mysql

热门文章

  1. dfs深搜--八皇后问题
  2. PDF怎么转成Excel?几个步骤轻松转换
  3. Excel VBA 学习笔记13:单元格的格式
  4. 图像处理:黑白效果(灰度处理)
  5. php 百度网盘功能,ThinkPHP实现百度网盘下载功能,必备!
  6. python状态码409_生产环境常见的HTTP状态码列表
  7. 2022-2028全球与中国3-甲基-1,1-二苯基脲市场现状及未来发展趋势
  8. MySQL 多行注释写法
  9. 精品!一组精美的2014年情人节海报素材
  10. 分布式架构知识体系 侵立删