Published Date : 2020年4月2日13:45

2: SlackとGCPとPythonで作業自動化
2: Automate your work with Slack, GCP and Python


This blog has an English translation


YouTubeにアップした動画、「【作業自動化】Part 1 - SlackとGCPとPythonで作業自動化」の補足説明の記事です。

Here's a little more about the "【作業自動化】Part 1 - Automate your work with Slack, GCP and Python" video I uploaded to YouTube.

【作業自動化】Part 1 - SlackとGCPとPythonで作業自動化

リモートワーク、在宅ワーク、テレワーク等で活躍するであろう、チャットツールのSlack、

どこにいてもWEB上で表計算の編集の共有ができるGoogleスプレッドシート、

これらのツールをPythonを使って自動化して作業効率を上げよう。

Slack, the chat tool, and Google Spreadsheets,

the service that lets you edit spreadsheets anywhere on the web.

Automating these tools using Python will improve your efficiency.

全体の説明は動画に任せるとして、補足が必要だろうと思われる部分を説明していきます。

I'll leave the entire explanation to the video, but I'll explain the parts that I think need to be supplemented.


目次

Table of Contents




Gmail APIを有効にする
Enable Gmail API




GCP(Google Cloud Platform)

まずGCPへログインします。https://console.cloud.google.com/getting-started

Login to GCP first. https://console.cloud.google.com/getting-started


Responsive image


Responsive image

続いてはGmail APIを有効にして、Google sheetsをPythonで読み込みと編集ができるようにしましょう。

Next, you'll enable the Gmail API to read and edit Google sheets in Python.

手順は以下の画像の通りです。

The procedure is shown in the image below.


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image

[内部へ]を選択したい場合はGsuiteユーザーになる必要があります。

You must be a GSuite user if you want to select [internal].


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image

ちなみにJSONファイルの中身は以下のような形式になっています。

By the way, the contents of the JSON file are in the following format.

{
  "type": "service_account",
  "project_id": "test-666333",
  "private_key_id": "your private key id",
  "private_key": "-----BEGIN PRIVATE KEY-----\nyour private key=\n-----END PRIVATE KEY-----\n",
  "client_email": "test@test-666333.iam.gserviceaccount.com",
  "client_id": "your client id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test%40test-666333.iam.gserviceaccount.com"
}

Pythonの辞書と同様に「:」の左側がキーとなり、右側がバリューとなります。

Like the Python dictionary, the left side of the [:] is the key and the right side is the value.

Pythonには標準でJSONを扱えるモジュールがあるので、これを使えば簡単にPythonの辞書として取り扱うことができます。

Python comes with a standard JSON module that you can easily treat as a Python dictionary.

試しに以下のスクリプトを動かしてみて下さい

Try running the following script.

import json

path = "test-666333.json"

with open(path) as f:
    js_dict = json.load(f)

print(js_dict)

# 結果は上記と同じ
# The result is the same as above.

type(js_dict)

# 'dict'



GoogleスプレッドシートとSlack APIとPythonの準備
Preparing Google Spreadsheets, Slack API and Python




Google Sheets

Googleアカウントにログインしているので、右上のマークからGoogle Sheetsへすぐにいけます。

You're already logged in to your Google account, so you simply click on the toggle mark to the application in the upper right and click on the displayed [Google sheets].


Responsive image


Responsive image

もし既に使えるエクセルファイルを持っているなら、それをGoogle Driveを介してインポートしてすぐに使えます。それかオリジナルのシートを一から作ってもいいです。お好きなように。

If you already have a working Excel file, you can import it via Google Drive and use it immediately. Or you can make the original sheet from scratch. Suit yourself.


Responsive image


Slack and its API

次はSlackのWorkspaceにAPIを取り付ける作業です。

The next step is to attach the API to the Slack workspace.


Responsive image


Responsive image


Responsive image


Responsive image


Responsive image

生成されたURLは保存しておいてください。

Save the generated URL.



次回はPythonスクリプトで各APIにアクセスして、スプレッドシートやSlackの自動化にチャレンジしていきたいと思います。

Next time, we'll try to automate spreadsheets and Slack by accessing each API with Python scripts.





See You Next Page!