Google ドライブのファイルを GCS へアップロードするツールです。
ファイル種類 | GCS に保存される形式 |
---|---|
Google ドキュメント | Markdown |
Google Cloud Console から OAuth2 のアプリを作成し、credentials の json ファイルをダウンロードし
secrets/credentials.json
に保存してください。
yarn auth
を実行し、http://localhost:3000 にアクセスし、Google 認証を行ってください。成功すると secrets/token.json
が保存されます。
.env
を作成し、次の Key を設定してください。(または、環境変数)
KEY | 指定する値 |
---|---|
SHARE_DRIVE_ID | Google 共有ドライブの ID。共有ドライブのルートの URL の末尾部分を取得してくる |
FOLDER_ID | Copy 対象にするフォルダー名。フォルダーの URL の末尾部分を取得してくる |
GCS_BUCKET_NAME | 保存先の GCS のバケット名 |
※AccessToken を取得したアカウントがドライブには Read 権限、Bucket には Write 権限があることを確認しておいてください。
yarn copy
を実行してください。
参考記事に従って、SlackAPP を作成し、BotToken を作って、slack_token.json の BotToken を設定してください。
- Slack にファイル取得用の App を作成
- SlackApp の設定画面で "OAuth & Permissions" > "Scopes" > "Bot Token Scopes"に、"files:read"権限を追加
- SlackApp の設定画面で "OAuth & Permissions" > "OAuth Tokens"で、ワークスペースに App をインストール
- 生成された”Bot User OAuth Token"を、
.env
のBOT_USER_OAUTH_TOKEN
に設定 - ファイルを取得したいチャンネルに、Slack のチャンネルの設定 > "インテグレーション" > "App"で、先ほど作成した App を追加
を行ってください
yarn ts-node src/download_slack_files_to_local.ts {ChannelID}
を実行してください。 ChannelID は、Slack のチャンネル名の右クリック > リンクをコピーからコピーした URL の最末尾が ChannelID です。