PHPackages                             liupei/dingtalk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. liupei/dingtalk

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

liupei/dingtalk
===============

dingtalk sdk for php

1.2.9(6y ago)0139MITPHPPHP &gt;=5.6

Since Feb 29Pushed 6y ago1 watchersCompare

[ Source](https://github.com/zjlsliupei/dingtalk)[ Packagist](https://packagist.org/packages/liupei/dingtalk)[ RSS](/packages/liupei-dingtalk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (14)Used By (0)

简介
==

[](#简介)

简单且快速Dingtalk SDK for PHP

安装
--

[](#安装)

```
composer require liupei\dingtalk
```

如何使用
----

[](#如何使用)

下面介绍几种常规姿势

### 配置

[](#配置)

```
include 'vendor/autoload.php';

// 最低配置
liupei\dingtalk\Client::config([
    'type' => 'corp', // corp:企业内部开发
    'app_key' => 'xxxxxxx', // 钉钉微应用对应的app_key
    'app_secret' => 'xxxxxxxxxxxx', // 钉钉微应用对应的app_secret
    'corp_id' => 'XXXXXXXXXX', // 企业id
    'agent_id' => 'XXXXXXXXXXXXX', // agent_id
]);

// 标准配置（带缓存配置）
//为什么要带缓存配置？每次请求接口都从钉钉拿access_token这样不好吧，配置缓存后后续请求可以从缓存拿……好了不能透露太多
liupei\dingtalk\Client::config([
    'type' => 'corp', // corp:企业内部开发
    'app_key' => 'xxxxxxxxxxxxx', // 钉钉微应用对应的app_key
    'app_secret' => 'xxxxxxxxxxxxxxxxxx', // 钉钉微应用对应的app_secret
    'corp_id' => 'XXXXXXXXXXXXXXX', // 企业id
    'agent_id' => 'XXXXXXXXXXX', // agent_id
    'cache' => [       // 支持redis等方案
        'host'   => '127.0.0.1',
        'port'   => 6379,
        'select' => 0,
        'password' => '',
        'prefix' => 'dingtalk_'
    ]
]);
```

### 注册hook事件

[](#注册hook事件)

```
// 发送请求前事件
liupei\dingtalk\Client::event('before_request', function ($data) {
   var_dump($data);
});
//发送请求后事件
liupei\dingtalk\Client::event('after_request', function ($data) {
    var_dump($data);
});
```

### 调用接口

[](#调用接口)

```
// 模拟get请求
$client = liupei\dingtalk\Client::newClient();
$response = $client
    ->withAccessToken(true) // true: 自动获取access_token并且自动缓存（需配置缓存），否则需传入access_token
    ->path('/user/get') // 请求钉钉接口路径
    ->queryParam(['userid' => '0447185746671825']) // 设置get参数
    ->request();
var_dump($response->isSuccess());
var_dump($response->getData());
var_dump($response->getErrMsg());

// 模拟post请求
$client = liupei\dingtalk\Client::newClient();
$response = $client
    ->withAccessToken(true) // true: 自动获取access_token并且自动缓存（需配置缓存），否则需传入access_token
    ->path('/user/get') // 请求钉钉接口路径
    ->queryParam(['userid' => '0447185746671825']) // 设置get参数
    ->postParam(['feild' => 'xxxxxx'])
    ->request(); // 会自动识别get,post
var_dump($response->isSuccess());
var_dump($response->getData());
var_dump($response->getErrMsg());
```

### 钉钉机器人调用

[](#钉钉机器人调用)

```
include 'vendor/autoload.php';

// 默认方式实例化
$robot = new liupei\dingtalk\Robot('access_token');
// 使用签名方式实例化
$robot = new liupei\dingtalk\Robot('access_token','secret');

// 向机器人群发送消息，消息格式参考链接：https://ding-doc.dingtalk.com/doc#/serverapi3/iydd5h
$response = $robot->send([
    "msgtype" => "text",
    "text" => [
        "content" => "测试内容"
    ]
]);
var_dump($response->isSuccess());
var_dump($response->getErrMsg());
```

### JSAPI鉴权，生成前端需要的数据

[](#jsapi鉴权生成前端需要的数据)

```
$client = liupei\dingtalk\Client::newClient();
$config = $client->getSign()->getCorpSign('http://www.baidu.com');
var_dump($config);
```

### 获取自定义空间

[](#获取自定义空间)

```
$client = liupei\dingtalk\Client::newClient();
$spaceId = $client->getFile()->getCustomSpace('wensi');
var_dump($spaceId);
```

### 授权自定义空间

[](#授权自定义空间)

```
$client = liupei\dingtalk\Client::newClient();
$success = $client->getFile()->grantCustomSpace('userid','/', 'add', null, 'wensi');
var_dump($success);
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

13

Last Release

2215d ago

PHP version history (3 changes)1.0.0PHP ^7.1

1.2.6PHP ^5.6

1.2.9PHP &gt;=5.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/9744c071fc6a77b11442cc67fdab6432fb42c0ba8866d7443870f9b1cb39695c?d=identicon)[liupei](/maintainers/liupei)

---

Top Contributors

[![zjlsliupei](https://avatars.githubusercontent.com/u/33270110?v=4)](https://github.com/zjlsliupei "zjlsliupei (15 commits)")

---

Tags

dingtalk

### Embed Badge

![Health badge](/badges/liupei-dingtalk/health.svg)

```
[![Health](https://phpackages.com/badges/liupei-dingtalk/health.svg)](https://phpackages.com/packages/liupei-dingtalk)
```

###  Alternatives

[chowjiawei/laravel-help-plugin

Integrating useful auxiliary functions into laravel,Assistant tools based on laravel.

671.6k](/packages/chowjiawei-laravel-help-plugin)[ymlluo/group-robot

钉钉、企业微信、飞书 自定义群组机器人。支持链式语法创建发送消息。支持文本、Markdown、图片、文件、图文、卡片等消息。

233.8k1](/packages/ymlluo-group-robot)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
