cleentfaar/slack

此包已被废弃且不再维护。未建议替代包。

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

0.20.1 2016-05-30 21:02 UTC

README

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

Build Status Coverage Status Quality Score Latest Version Total Downloads

文档

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

功能

  • 使用专用payload类访问Slack的所有API方法(见使用文档
  • payload和响应遵循官方文档中描述的定义(有一些例外,我认为这可以更好地区分)。
  • 使用JMS Serializer包序列化您和Slack之间的数据,允许使用完全规范的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

* = 已为该方法打开 issue/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 客户端,或者 禁用对等验证(出于安全原因不推荐),并将其传递给 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 文档