2016-10-13 226 views
2

我目前正在尝试使用SlackConnector库在C#中开发应用程序。 SlackConnectorSlack API和OAuth 2.0

应用程序将接收和发送消息,以消除频道和DM。 (我成功地能够使用测试令牌生成器发送和接收来自我的闲置的消息。)TEST TOKEN GENERATOR

我不明白的是,如何让使用应用程序的用户完全授权访问他们懒帐户等等,他们也可以发送和接收消息。

OAuth 2.0东西,我需要使用?我创建了一个懒散的应用,并遵循了从用户获取访问令牌的步骤,但由于某种原因访问令牌不能建立连接,就像测试令牌一样?我想用该令牌你可以代表用户发布消息只有不接收消息只有有限的访问,不确定!

有没有办法以编程方式获取登录用户生成的测试令牌?或者用户可以让我的桌面应用程序完全访问闲置帐户而无需手动生成测试令牌的方式?

即使我只用我作为用户进行生产,我会使用相同的测试令牌吗?这不仅仅是为了测试实际的令牌吗?

回答

3

回答几个你的问题在这里:

是的,你需要使用OAuth 2.0和松弛的应用程序提供给你安装上的其他球队松弛整合。

是的,测试令牌只是针对一个团队开发的。在创建团队的背景下,它们代表了创建它的所有帐户的全部功能。

要连接到RTM API并读取和写入DM,您需要做出一些决定,您需要请求哪些OAuth scopes,以及是否希望从应用程序的角度进行操作作为一种渠道内的“机器人用户”,或从用户使用您的应用的角度来看。通常,应用程序从他们自己的角度进行操作

构建此类应用程序的最常见方式是请求bot OAuth范围,该范围授予一组权限。棘手的部分是,在OAuth流程结束时,bot权限未被授予顶级token - 它们被授予bot_user_token,您可以在响应哈希的bot部分下找到它。使用该令牌可让您连接到RTM API并通过直接消息与团队成员进行交互。 (有关“令牌和范围”的信息,请参阅bot user文档。

如果您的意图是代表用户直接操作(发布和回复消息,就好像您是用户授权应用程序一样),那么您需要请求非常明确的OAuth范围,这些范围将应用于最终OAuth响应中的顶级用户token

+0

感谢您的回复,您提到其他团队,每个使用我的应用程序的人都将在同一团队中。我想从用户的角度来操作而不是机器人吗?是否有任何文档可以找到有关OAuth Scopes的更多信息,除了松散文档? – hamadkh

+0

文档可能仍然是最好的,最好的方法是去每个API方法表演t他想要采取的操作并记下它指示哪个OAuth范围是必需的。然后请求您的团队中的用户安装应用程序,然后请求那些名为OAuth范围的用户。如果你不介意和你的团队没有更广泛的功能(可能甚至太多),你可能会要求把'客户'范围作为一种捷径。 –

+0

谢谢,我已经知道了。 '客户'解决了我所有的问题。这是对我的使用最有意义的一个。 – hamadkh