2016-06-07 6 views
5

Ich habe versucht, eine Liste aller "Gruppen" in meinem Slack-Team zu bekommen. Aber selbst mit Admin-Rechten bietet groups.list nur die Gruppen an, zu denen das Konto des Token-Besitzers gehört.Erhalte eine Liste aller privaten Kanäle mit Slack API

Die nächste Lösung, die ich in meiner Forschung gesehen habe, besteht darin, einen Bot in den Kanal zu setzen. Die Bot-Mitgliedschaft erlaubt es, über den Kanal zu berichten, aber dann gibt es das logistische Problem, den Bot in jeden privaten Kanal zu bekommen, trotz der Tatsache, dass wir sie nicht programmatisch auflisten können.

Der Code, den ich verwendet habe, private Kanäle zu graben:

import requests 
import json 

token = '...' 

r = requests.post('https://slack.com/api/groups.list', data={'token': token, 'exclude_archived': 1}) 
if r.ok: 
    privatechannels = { c['id']: c['name'] for c in json.loads(r.text)['groups'] } 
    print(privatechannels) 
+0

Willkommen bei Stack-Überlauf erfordern. Ihre Frage ist zu früh für Stack Overflow. Wir erwarten, dass du das selbstständig erforscht hast, dann hast du es versucht, und dann, wenn der Code kaputt ist, frage danach. Bitte lesen Sie "[fragen]". Wenn Sie mehr gesucht und durchsucht haben und immer noch nichts gefunden haben, dann müssen Sie uns zeigen, wo Sie gesucht haben, erklären, warum das nicht geholfen hat, und dann können wir einschreiten. –

+1

Vielleicht ist es nicht klar, aber Ich habe versucht. Es gibt nur so viel, was mit einem einzigen API-Aufruf für einen Drittanbieter-Dienst getan werden kann. Ich habe die Dokumentation durchforstet, ein Programm geschrieben, um die Informationen auszugraben (siehe unten), und SO und das Internet im Allgemeinen durchsucht. –

+0

edit: kann nicht mehrzeilige Code-Formatierung gehen hier rein, setzen es in die Frage –

Antwort

2

slacks privacy policy dies nicht unterstützt.

Das grundlegendste Datenschutzprinzip, dem wir folgen, ist, dass standardmäßig alles, was Sie auf Slack veröffentlichen, privat für Ihr Team ist. Das heißt, das Anzeigen von Nachrichten und Dateien, die in einem bestimmten Team freigegeben sind, erfordert die Authentifizierung als Mitglied dieses Teams.

Die kommenden bezahlt Firma Plus-Plan wird eine optionale Funktion genannt Compliance-Exporte umfassen, die Administratoren können ihre Teams Kommunikation zugreifen, öffentliche und private Nachrichten umfasst.

das ist die nächste Sache, den Zugang zu privaten Kanälen zu bekommen, von dem Sie nicht Teil sind, aber ein Brief geschrieben ... here for more details

+2

Danke für die Bestätigung meines Verdachts. Wir haben uns tatsächlich für Compliance-Exporte angemeldet und waren dabei. Legal möchte jedoch, dass die IT-Abteilung ein fortlaufendes Protokoll darüber erstellt, wer wann in welchem ​​Channel ist, was von Compliance-Exporten nicht angeboten wird. Ich habe versucht, dieses Loch mit einigen API-Scripting zu patchen. Sieht so aus, als müssten wir einen Bot in jeden Kanal legen, wenn das passieren wird. –

+0

also ... wie hast du einen Bot in jedem Kanal, wenn du nicht alle Kanäle an erster Stelle auflisten kannst, um zu wissen, welche Kanäle es sind, dass du den besagten Bot brauchst ?? Ich habe dieses Problem auch :-( – Hicsy

Verwandte Themen