displayce/slack

通过PHP对象访问您的Slack团队API

0.23.0 2020-08-23 16:14 UTC

README

通过PHP对象访问您的Slack团队API。

Latest Version

文档

  • 入门 - 在使用此库之前,您需要生成一个令牌或设置OAuth。
  • 安装 - 通过composer或作为git子模块安装此库的信息。
  • 用法 - 一些如何使用此库访问Slack API的简单示例。
  • API方法 - Slack的每个API方法以及如何使用此库的Payload类访问它们的详细信息。
  • 事件 - 监听由ApiClient触发的事件的示例。

特性

  • 使用专门的payload类访问Slack的所有API方法(见用法文档
  • payload和响应遵循官方文档中描述的相同定义(有些例外,我认为这将使区分更好)。
  • 您和Slack之间的数据使用JMS Serializer包进行序列化,允许使用完全规范的PHP对象与API进行交互。
  • 代码已被高度抽象,以支持在更具体的实现中重用(见SlackBundle

进一步阅读

我已经尽力在适当的地方包含官方文档的链接。

但是,您真的应该查看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证书包

要解决这个问题,首先您需要手动创建Guzzle客户端,使用一个替代的CA证书包,或者禁用对等验证(出于安全考虑不推荐),然后将它传递给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文档