日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

腾讯企业邮箱OpenApi调用说明

發布時間:2024/3/12 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 腾讯企业邮箱OpenApi调用说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

筆者最近在調用騰訊企業郵箱的接口,但因為項目使用的是2016年的老接口,不是新接口(https://exmail.qq.com/qy_mng_logic/doc#10001)
因此找到了之前的老接口文檔供自己和大家參考。

一、開放協議介紹

  • 1.1 功能簡介

騰訊企業郵箱開放協議,包括面向第三方合作應用和面向企業郵用戶兩類。其中,面向
企業郵用戶的開放協議,將提供給企業郵用戶豐富的應用接口,用戶可以根據這些接口定制己統一的企業解決方案。

通過協議接口,企業用戶可以實現:

  • 單點登錄
    可以從公司OA 系統、網站一鍵進入企業郵箱,免去登錄過程。
  • 新郵件提醒
    新郵件將即時在OA 等辦公系統提醒你。
  • 數據同步
    數據同步可以幫助你同步部門成員信息,你還可以創建、刪除、修改帳號,同步部門信息等。
    • 1.2 協議格式
      協議采用HTTP+JSON 格式,請求采用GET/POST 方式。

    • 1.3 安全機制

  • 管理員在管理端可以隨時啟用/關閉同步選項。
  • 在管理端的“操作記錄”可以查詢同步日志,方便觀察異常。
    • 1.4 協議編碼
      均用UTF-8 編碼。

    二、接入流程
    接入騰訊企業郵開放接口的全流程圖如下:

    • 2.1 管理端申請

    從鏈接http://exmail.qq.com 進入,使用管理員賬號登錄進入管理頁面,打開“工具箱->開放議”,點擊“立即申請”。

    • 2.2 獲取接口key

    接口key,是作為下一步OAuth 驗證授權傳遞的參數,需要查看明文。
    (1)點擊“查看明文”:
    (2)輸入管理員密碼,點擊“確定”
    (3)可查看接口key
    截圖中的接口key 為563a8c6a89d2368194c1c7889c508b34

    • 2.3 OAuth 驗證授權

    接口說明:
    目前,騰訊企業郵箱采用OAuth2.0 協議對第三方進行授權,關于OAuth2.0 的詳細介紹,請考OAuth 協議標準。

    客戶端通過長連接維持在線狀態,服務端通過檢查用戶的在線狀態,實時推送消息;同時客端根據同一個連接,獲取請求數據。

    調用的方式有兩種方式:
    POST 方式:在POST 請求加上access_token;
    GET 或者其他方式:在HTTP HEAD 加上Authorization,將client_id 和client_secret 以
    BASE64 加密方式加密,即base64(client_id: client_secret),將密文發送到請求信息中。

    1、URL:https://exmail.qq.com/cgi-bin/token

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    client_id string 當前管理員帳號
    client_secret string 接口key

    5、請求示例:
    請求的參數:
    client_id:swanzhong
    client_secret:563a8c6a89d2368194c1c7889c508b34
    POST https://exmail.qq.com/cgi-bin/token HTTP /1.1
    Host: exmail.qq.com
    Content-Length: 75
    grant_type=client_credentials&client_id=swanzhong&client_secret=563a8c6a89d2368194c1c7889c50b34
    或者:
    請求的參數:
    client_id:swanzhong
    client_secret:563a8c6a89d2368194c1c7889c508b34
    POST https://exmail.qq.com/cgi-bin/token HTTP /1.1
    Host: exmail.qq.com
    Authorization: Basic c3dhbnpob25nOjU2M2E4YzZhODlkMjM2ODE5NGMxYzc4ODljNTA4YjM0
    Content-Length: 29
    grant_type=client_credentials

    6、返回參數說明:
    參數名稱描述
    access_token
    token_type
    expires_in access_token 的有效使用期,失效后請重新獲取
    refresh_token

    7、正確返回示例:
    {
    “access_token”:“GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y8
    gM7gzDtp-GdQEY4dwFXk2qgnkwJA “,
    “token_type”:“Bearer”,
    “expires_in”:86400,
    “refresh_token”:””
    }

    • 2.4 調用接口Api(客戶端請求)

    經過OAuth 授權驗證后,獲取到access_token,開發者可以根據實現功能的需要去選擇調用API。以下章節將列出接口API 的功能和調用方式。

    三、調用接口API 說明

    接口API 能實現的功能有如下三個:
    (1)單點登錄:
    可以從公司OA 系統、網站一鍵進入企業郵箱,免去登錄過程。
    (2)新郵件提醒:
    新郵件將即時在OA 等辦公系統提醒你。
    (3)同步
    數據同步可以幫助你同步部門成員信息,你還可以創建、刪除、修改帳號,同步部門信息等。

    • 3.1 單點登錄

    可以從公司OA 系統、網站一鍵進入企業郵箱,免去登錄過程。接入流程圖如下所示:

    3.1.1 獲取Authkey
    接口說明:

    1、URL:openapi/mail/authkey

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    Alias string 帳號名

    5、請求示例:
    請求參數:bob@gzdev.com
    POST http://openapi.exmail.qq.com:12211/openapi/mail/authkey HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y
    8gM7gzDtp-GdQEY4dwFXk2qgnkwJA
    Content-Length: 19
    alias=test0507@gzservice.com

    6、返回參數說明:
    參數名稱描述
    AuthKey 登陸/讀信驗證Key

    7、正確返回示例:
    {
    “AuthKey”:
    "077FFF01B4D6A28A07A21682C3C0D4FE04221261CE2E3FAFA9E8432937DCF57290EA36BAD
    05815167251FF690134EDE4F40055B1B7B68C1D "
    }

    3.1.2 一鍵登錄
    接口說明:

    1、URL:

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    ticket string 調用“獲取Authkey”獲
    取的Authkey
    agent string 管理員帳號

    5、請求示例:
    https://exmail.qq.com/cgi-bin/login?fun=bizopenssologin&method=bizauth&agent=&user=&ticket=

    6、返回參數說明:
    參數名稱描述
    mailid 服務器推送新郵件時的mailid 字段

    7、正確返回示例

    • 3.2 郵件提醒

    新郵件將即時在OA 等辦公系統提醒你。接入的流程圖如下:

    3.2.1 客戶端維持長連接
    調用說明:
    調用此api 是用于維持客戶端與服務器的長連接。
    1、URL:openapi/listen

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    Ver string 本地維護的最新版本號

    5、請求示例(初始版本號設置為0):
    POST http://openapi.exmail.qq.com:12211/openapi/listen HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer
    GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y8gM7gzDtp-GdQEY4d
    wFXk2qgnkwJA
    Content-Length: 19
    Ver=1386593148546

    6、返回參數說明:
    如果當前客戶端長連接在線,會返回參數“Ret”,當服務端檢查到服務器版本號數據變更時,發最新版本號“ver”。
    參數名稱描述
    Ret 返回值

    7、正確返回示例:
    {
    “Ret”: 0
    }

    3.2.2 下發數據
    如果當前客戶端長連接在線,當服務端檢查到數據變更時,將會下發數據:版本號更新;新
    郵件提醒;實時更新未讀郵件數。
    (1)版本號更新

    1、下發字段:
    參數名稱類型描述
    Ver string 服務器最新版本號

    2、下發示例:
    {
    “Ver”: “1364460338051”,
    }

    (2)新郵件提醒

    1、下發字段:
    參數名稱描述
    UserName 帳號名
    MailId 郵件Id
    Sender 發件人
    Receiver 收件人
    Subject 標題
    Summary 摘要
    NewCount 新郵件數

    2、下發示例:
    {
    “UserName”: "bob@gzdev.com",
    “MailId”: “ZC4028-FPiX_oOG5HUh4XorwyhAY33”,
    “Sender”: ““Test” test@gzdev.com”,
    “Receiver”: "bob@gzdev.com",
    “Subject”: “TestMail”,
    “Summary”: "TestMail Content ",
    “NewCount”: 549
    }

    (3)實時更新未讀郵件數

    1、下發字段:
    參數名稱描述
    UserName 帳號
    NewCount 未讀郵件數

    2、下發示例:
    {
    " UserName": "bob@gzdev.com",
    " NewCount ": 550,
    }

    • 3.3 數據同步

    數據同步可以幫助你同步部門成員信息,你還可以創建、刪除、修改帳號,同步部門信息等。
    接入的流程圖如下:

    3.3.1 獲取成員資料
    接口說明:

    1、URL:openapi/user/get

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    Alias string 當前管理員帳號

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/user/get HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y8
    gM7gzDtp-GdQEY4dwFXk2qgnkwJA
    Content-Length: 25
    alias= test2@gzservice.com

    6、返回參數說明:
    參數名稱描述
    Alias 帳號名
    Name 姓名
    Gender 性別:0=未設置,1=男,2=女
    SlaveList 別名列表,用逗號分隔
    Position 職位
    Tel 聯系電話
    Mobile 手機
    ExtId 編號
    PartyList 部門列表,部門的根結點不包括在路徑里面。比如部門所屬:騰
    訊/廣州研發中心/企業郵箱,Value 為:廣州研發中心/企業郵箱
    OpenType 成員狀態:1=啟用,2=禁用

    7、正確返回示例:
    {
    “Alias”: " test2@gzservice.com",
    “Name”: “鮑勃”,
    “Gender”: 1,
    “SlaveList”: "bb@gzdev.com,bo@gzdev.com",
    “Position”: “工程師”,
    “Tel”: “62394”,
    “Mobile”: “”,
    “ExtId”: “100”,
    “PartyList”: {
    “Count”: 3,
    “List”: [{ “Value”: “部門a” }
    ,{ “Value”: “部門B/部門b” }
    ,{“Value”: “部門c” }
    ]
    }
    }

    3.3.2 同步成員帳號資料
    接口說明:

    1、URL:openapi/user/sync

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    Action string 1=DEL, 2=ADD, 3=MOD
    Alias string 帳號名,帳號名為郵箱格式
    Name string 姓名
    Gender string 性別:1=男,2=女
    Position string 職位
    Tel string 聯系電話
    Mobile string 手機
    ExtId string 編號
    Password string 密碼
    Md5 string 是否為Md5 密碼,0=明文密碼,1=Md5 密
    碼,
    PartyPath string 所屬部門

    1、傳部門路徑,用’/’分隔

    2、根部門不需要傳。如果空,則為根部門。
    部門是已存在的

    3、如果是多個部門,傳多個PartyPath

    Slave string 別名列表

  • 如果多個別名,傳多個Slave
  • Slave 上限為5 個
  • Slave 為郵箱格式
    OpenType string 0=不設置狀態,1=啟用帳號,2=禁用帳號
  • 5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/user/sync HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer
    GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y8gM7gzDtp-GdQEY4d
    wFXk2qgnkwJA
    Content-Length: 19
    action=3&alias=bob@gzdev.com&name=BOB&gender=1&position=engineer&slave=test@gzdev.co
    m

    6、返回參數說明:
    返回data 為空。通過返回狀態碼,判斷是否調用成功。

    3.3.3 獲取某個版本號后的用戶更新列表
    接口說明:

    1、URL:openapi/user/list

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    Ver string 版本號;初始=0 表示獲取全
    部帳號;如指定版本號,則
    取該版本號之后的變更記錄

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/user/list HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer
    GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y8gM7gzDtp-GdQEY4d
    wFXk2qgnkwJA
    Content-Length: 17
    Ver=1386593148546

    6、返回參數說明:
    參數名稱描述
    Ver 最新版本號;初始=0 表示獲取全部帳號
    Count 成員個數
    List 成員帳號列表
    字段含義
    Action 更新動作類型,1=Add, 2=Edit,
    3=Del
    Alias 帳號名

    7、正確返回示例:
    {
    “Ver”: 1346674693912,
    “Count”: 1,
    “List”: [
    {
    “Action”: 3,
    “Alias”: "test2@gzservice.com",
    }
    ]
    }

    3.3.4 獲取未讀郵件數
    接口說明:

    1、URL:openapi/mail/newcount

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    Alias string 帳號名

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/mail/newcount HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer
    GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y8gM7gzDtp-GdQEY4d
    wFXk2qgnkwJA
    Content-Length: 19
    alias=test0507@gzservice.com

    6、返回參數說明:
    參數名稱描述
    Alias 姓名
    NewCount 新郵件數

    7、正確返回示例:
    {
    “Alias”: "test0507@gzservice.com",
    "NewCount ": 15,
    }

    3.3.5 同步部門
    接口說明:

    1、URL:openapi/party/sync

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    Action string 更新動作類型,1=DEL, 2=ADD, 3=MOD
    SrcPath string 源部門(注:部門用’/’ 分隔根部門不用加部門最多5 級,單個部門字符不超過64 個字符)
    DstPath string 目標部門

    注:
    1)如果DEL/ADD,則只需要傳DstPath
    2)如果MOD,需要將SrcPath,和DstPath 傳過來

    5、請求示例:
    請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/user/list HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer
    GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y8gM7gzDtp-GdQEY4d
    wFXk2qgnkwJA
    Content-Length: 19
    action=3&dstpath=%e9%83%a8%e9%97%a8A%2f%e5%ad%90%e9%83%a8%e9%97%a8a

    6、返回參數說明:
    參數名稱描述
    Count 部門總數
    List 部門列表
    字段含義
    Value 子部門名稱
    注:返回的子部門不進行迭代遍歷,只是最的一層子部門列表。

    7、正確返回示例:
    {
    “Count”: 3,
    “List”: [
    { “Value”: “部門a” }
    ,{ “Value”: “部門B” }
    ,{“Value”: “部門c” }
    ]
    }

    3.3.6 獲取子部門列表

    1、URL:openapi/party/list

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    PartyPath string 查看的父親部門路徑。如果看根部門,置為空。

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/party/list HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer
    GHUSH-4qIXPScxa_OY0CbPS31W1OM24L_Ys9FCc7LtJyxjHD5OZafLh3Y8gM7gzDtp-GdQEY4d
    wFXk2qgnkwJA
    Content-Length: 10
    partypath=

    6、返回參數說明:
    參數名稱描述
    Count 部門總數
    List 部門列表
    字段含義
    Value 子部門名稱
    注:返回的子部門不進行迭代遍歷,只是最
    近的一層子部門列表。

    7、正確返回示例:
    {
    “Count”: 3,
    “List”: [
    { “Value”: “部門a” }
    ,{ “Value”: “部門B” }
    ,{“Value”: “部門c” }
    ]
    }

    3.3.7 獲取部門下成員列表
    接口說明:

    1、URL:openapi/partyuser/list

    2、格式:JSON

    3、HTTP 請求方式:GET/POS

    4、輸入參數說明:
    參數名稱類型描述
    PartyPath string 查看的父親部門路徑。如果
    查看根部門,置為空。

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/partyuser/list HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer jIFA9ju6v5XP
    Content-Length: 10
    partypath=

    6、返回參數說明:
    參數名稱描述
    Count 部門總數
    List 部門列表
    字段含義
    Value 帳號名稱

    7、正確返回示例:
    {
    “Count”: 1,
    “List”: [
    { “Value”: "bob@gzdev.com" }
    ]
    }

    3.3.8 檢查郵件帳號是否可用
    接口說明:

    1、URL:openapi/user/check

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    email string 郵件帳號(如果多個需要檢查的郵件帳號,傳多個email,email 上限為20 個)

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/user/check HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer jIFA9ju6v5XP
    Content-Length: 10
    email=test@gzdev.com&email=2013@gzdev.com

    6、返回參數說明:
    參數名稱描述
    Count 列表總數
    List 帳號類型列表
    字段含義
    Email 帳號名稱
    Type 帳號類型。-1:帳號名無效,0:
    帳號名沒被占用,1:主帳號名,
    2:別名帳號,3:郵件群組帳
    號。

    7、正確返回示例:
    {
    “Count”: 2,
    “List”: [
    { “Email”: " test@gzdev.com ", “Type”: 1 },
    { “Email”: " 2013@gzdev.com ", “Type”: 0 }
    ]
    }

    3.3.9 添加郵件群組
    接口說明:

    1、URL:openapi/group/add

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    group_name string 群組名稱
    group_admin string 群組管理者(需要使用一個域中不存在的
    郵箱地址)
    status string 群組狀態(分為4 類all,inner,group,
    list)
    members List 成員賬號
    字段含義
    members 成員賬號

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/group/add HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer jIFA9ju6v5XP
    Content-Length: 10
    group_name=test&group_admin=test@gzdev.com&status=all&members=test1@gzdev.com

    6、返回參數說明:
    返回參數為空,并通過返回碼判斷函數執行是否成功。

    3.3.10 刪除郵件群組
    接口說明:

    1、URL:openapi/group/delete

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    group_alias string 群組管理員(一個域中不存在的郵箱地
    址)

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/group/delete HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer jIFA9ju6v5XP
    Content-Length: 10
    group_alias=test@gzdev.com

    6、返回參數說明:
    返回參數為空,并通過返回碼判斷函數執行是否成功。

    3.3.121 添加郵件群組成員
    接口說明:

    1、URL:openapi/group/addmember

    2、格式:JSON

    3、HTTP 請求方式:GET/POST

    4、輸入參數說明:
    參數名稱類型描述
    group_alias string 群組管理者(需要使用一個域中不存在的
    郵箱地址)
    members string 群組下的成員

    5、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/group/addmember HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer jIFA9ju6v5XP
    Content-Length: 10
    group_alias=test@gzdev.com&members=test1@gzdev.com

    6、返回參數說明:
    返回參數為空,并通過返回碼判斷函數執行是否成功。

    3.3.12 刪除郵件群組成員
    接口說明:

    7、URL:openapi/group/deletemember

    8、格式:JSON

    9、HTTP 請求方式:GET/POST

    10、輸入參數說明:

    參數名稱類型描述
    group_alias string 群組管理者(需要使用一個域中不存在的
    郵箱地址)
    members string 群組下的成員

    11、請求示例:
    POST http://openapi.exmail.qq.com:12211/openapi/group/deletemember HTTP /1.1
    Host: openapi.exmail.qq.com
    Authorization: Bearer jIFA9ju6v5XP
    Content-Length: 10
    group_alias=test@gzdev.com&members=test1@gzdev.com

    12、返回參數說明:
    返回參數為空,并通過返回碼判斷函數執行是否成功。

    四、附錄:名詞解釋

    4.1 長連接/短連接
    長連接指建立SOCKET 連接后不管是否使用都保持連接;
    短連接指建立SOCKET 連接后發送后接收完數據后馬上斷開連接。

    總結

    以上是生活随笔為你收集整理的腾讯企业邮箱OpenApi调用说明的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。