2016-10-13 230 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