슬랙의 정보를 모두 삭제하고 마지막으로 어떻게 해야 할까!

2737 단어 SlackGAStech

개시하다

エンジニアができそうなこと 모두 제 임무입니다. 저는 여러분에게 익숙한 돼지입니다.
아래의 경과가 있으면 채널 내의 모든 소식을 삭제해야 한다.
Slackを有料化
-> 過去データが見れるようになった
-> Slack利用開始時はデフォルトchannelに機密情報バンバン流してた
-> 最近参画した新人に過去の機密情報見せたくない
-> デフォルトchannelなのでプライベートにできない&消せない
-> 社長)メッセージ全部消しといて〜
-> 猪俣)・・・うす。。
구글이'슬랙API와 GAS로 삭제하면 된다'는 기사를 대량으로 생산해 보았지만 조금 낡아서 한꺼번에 예쁘게 돌아가는 물건이 없었다.
"막무가내! 도대체 어떻게 해야 돼!"그래서 분노를 원동력으로 기사를 쓴다.

Slack 정보를 대량 삭제하는 방법(2021/11/9 기준)


Slack 작업공간 설정


・자신의 작업공간에 관리자 권한을 부여한다(권한이 없으면 타인의 정보를 삭제할 수 없다)
• 채널 ID 획득
https://qiita.com/YumaInaura/items/0c4f4adb33eb21032c08

SlackAPI 설정


• 제작 애플리케이션
https://api.slack.com/apps
Create New Apps 버튼을 누릅니다.
• 애플리케이션의 Manifest 편집
다음 내용으로 개작하다.(oauth config에 이번에 사용할 권한이 추가됨)
_metadata:
  major_version: 1
  minor_version: 1
display_information:
  name: Demo App
oauth_config:
  scopes:
    user:
      - chat:write
      - files:write
      - channels:history
      - groups:history
      - im:history
      - mpim:history
settings:
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false
/애플리케이션 설치
OAuth & Permissions의 Install to Workspace를 누릅니다.
-> User OAuth Token을 표시합니다.
・Token의 복사본
설치 후 표시된 User OAuth Token을 복제합니다.

GAS 소스 코드


· 앱스크립트 열기
https://liskul.com/gas-75423#GAS-4
• 소스 코드 쓰기
다음 내용을 복사합니다.(token과 channel id는 자신의 것을 설정했다)
function del_slack_posts() {
  var token = "xxxxxxxxxx";
  var channel_id = "xxxxxxxxxx";
  
  // チャンネル内からタイムスタンプの一覧を取得
  var url = "https://slack.com/api/conversations.history?token=" + token + "&channel=" + channel_id;
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  
  for (var i=0; i<data.messages.length; i++) {
    var url = "https://slack.com/api/chat.delete?token=" + token + "&channel=" + channel_id + "&ts=" + data.messages[i]["ts"];
    UrlFetchApp.fetch(url);
  }
}
、실행 버튼을 누르다
※ 단서에 포함된 정보는 삭제되지 않습니다.data.messages[i]["ts"]data.messages[i]["latest_reply"]로 변경되면 삭제됩니다.최신 정보만 삭제하기 때문에 여러 번 실행해야 한다.

좋은 웹페이지 즐겨찾기