michabbb / slack
通过PHP对象访问Slack团队API
0.20.1
2016-05-30 21:02 UTC
Requires
- php: >=5.5
- ext-curl: *
- doctrine/collections: ^1.2
- guzzlehttp/guzzle: ^6.0
- jms/serializer: ^1.0
- symfony/event-dispatcher: ^2.3|^3.0
- symfony/yaml: ^2.3|^3.0
Requires (Dev)
- mockery/mockery: ^0.9
- phpunit/phpunit: ^4.7
- symfony/var-dumper: ^2.3|^3.0
Suggests
- cleentfaar/slack-bundle: For easy integration with your Symfony projects
- cleentfaar/slack-cli: Command-line application for interacting with the Slack API
- dev-master
- 0.20.1
- 0.19.1
- 0.18.1
- 0.17.1
- 0.16.1
- 0.15.3
- 0.15.2
- 0.15.1
- 0.14.5
- 0.14.4
- 0.14.3
- 0.14.2
- 0.14.1
- 0.13.2
- 0.13.1
- 0.12.3
- 0.12.2
- 0.12.1
- 0.11.4
- 0.10.3
- 0.10.1
- 0.10.0
- 0.9.4
- 0.9.3
- 0.9.2
- 0.9.2b
- 0.9.1
- 0.2
- 0.1
- dev-fixed-bad-requirements
- dev-fixed-tests
- dev-team.info
- dev-patch-1
- dev-refactoring-round-4
- dev-refactoring-round-3
- dev-refact-pr-29
- dev-raupies-refactorings
This package is auto-updated.
Last update: 2024-08-28 23:20:06 UTC
README
通过PHP对象访问Slack团队API。
文档
- 入门指南 - 在使用此库之前,您需要生成一个令牌或设置oAuth。
- 安装 - 如何通过composer或作为git子模块安装此库的信息。
- 用法 - 一些简单的示例,展示如何使用此库访问Slack API。
- API方法 - Slack每个API方法及其使用此库的
Payload
类的详细说明。 - 事件 - 监听由
ApiClient
触发的事件的示例。
功能
- 通过专用payload类访问Slack的所有API方法(请参阅用法文档)
- Payloads和响应遵循官方文档中描述的相同定义(在一些我认为可以更好地区分的地方有一些例外)。
- 您和Slack之间的数据使用JMS Serializer包进行序列化,允许使用完全规范的PHP对象与API交互。
- 代码高度抽象,以支持在更具体的实现中重用(请参阅SlackBundle)
进一步阅读
我已经尽可能在代码中包含指向官方文档的链接。
尽管如此,您仍然应该查看Slack API文档,以更好地了解每个API方法的确切功能以及它将返回哪些数据。
如果您觉得这个包的某些部分需要更详细地记录,请不要犹豫,为其创建一个问题。
贡献
您对这个项目有一个好主意吗?发现了一个需要修复的严重错误?太好了!在提交PR之前,请确保它符合贡献指南,以加快您的代码合并。
缺失的方法
以下方法尚未实现,为什么不贡献并添加一些自己写的呢?
- files.delete*
- pins.add
- pins.list
- pins.remove
- reactions.add
- reactions.get
- reactions.list
- reactions.remove
- team.accessLogs
- team.info
* = 已为该方法打开问题/PR
相关包
- Slack CLI - 用于所有Slack API方法的CLI应用程序。
- SlackBundle - 提供与此库包集成的Symfony Bundle。
鸣谢
- Slack团队,因为他们制造了一个出色的产品,并且API文档非常清晰。
常见问题解答
为什么我尝试连接到 Slack API 时会收到 cURL 60 错误呢?
在内部,这个库使用 Guzzle 连接到 Slack API,而 Guzzle 发送 HTTP 请求的默认方法是 cURL。
完整的错误代码是 CURLE_SSL_CACERT: Peer certificate cannot be authenticated with known CA certificates,这可能是由于在 Windows 或 OS X 上,Guzzle 无法在操作系统中找到最新的 CA 证书包导致的。
为了解决这个问题,您首先需要手动创建一个使用替代 CA 证书包的 Guzzle 客户端,或者 禁用 peer 验证(出于安全考虑不推荐),然后将它传递给 API 客户端。
$client = new \GuzzleHttp\Client(); $client->setDefaultOption('verify', 'C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt'); // continue as normal, using the client above $apiClient = new ApiClient('api-token-here', $client);
如果您收到不同的错误代码,您可以查看 cURL 错误代码列表,或者直接咨询 Guzzle 文档。