# 【5分で分かる】Pythonを使って様々なサービスのAPIを利用してみよう！

> 当サイト【スタビジ】の本記事では、Pythonを使ってSlackやGoogleのAPIを利用していきます！APIを利用することで非常に様々なことができるので是非試してみましょう！APIを使えるようになると幅が広がりますよ！

- URL: https://toukei-lab.com/api
- 公開: 2022.11.29 / 更新: 2025.03.11
- サイト: スタビジ（https://toukei-lab.com）

:::talk{who="umatan"}
本記事では、Pythonを使ってSlackやGoogleのAPIを利用していきます！APIを利用することで非常に様々なことができるので是非試してみましょう！APIを使えるようになると幅が広がりますよ！
:::

こんにちは！データサイエンティストでありデジタルマーケターであるウマたん([@statistics1012](https://twitter.com/statistics1012?lang=ja))です！

Pythonというとデータ分析言語のイメージが強いのですが、<mark>実はPythonを使うことで様々なサービスのAPIを利用することができるんです！</mark>

APIとはアプリケーションプログラミングインターフェースの略であり、ソフトウェアを通して機能などをつなげることのできる仕組みです。

この記事ではそんな各種サービスのAPIをPythonで利用する方法についてまとめていきたいと思います！

ちなみに以下の私のUdemy講座でAPIの活用方法について詳しくまとめていますので興味のある方はチェックしてみてください！

:::box
[【初心者向け】Pythonで学ぶ！人気APIを活用した自動化＆データ活用完全ガイド！色々なAPIを組み合わせてみよう！](https://www.udemy.com/course/python-api/?referralCode=3D976B5BA53C8FFF78A1)

[![](/wp-content/uploads/2025/03/Udemy_API-1.jpg)](https://www.udemy.com/course/python-api/?referralCode=3D976B5BA53C8FFF78A1)

<table class="table">
<tbody>
<tr>
<th>【時間】</th>
<td><span>3.5時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級</span></td>
</tr>
</tbody>
</table>

API活用について詳しく知りたいならこのコース！

今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！

::button[このコースを見てみる]{href="https://www.udemy.com/course/python-api/?referralCode=3D976B5BA53C8FFF78A1" note="＼30日以内なら返金無料／"}
:::

## SlackのAPIを利用してみる

![studies mention](/wp-content/uploads/2020/06/Mention-amico-min-e1624176231941-1024x840.png)

まずはじめに**SlackのAPI**を利用していきましょう！

Slackは様々な企業に利用されていて仕事で使っている方も多いと思います。

ここでは、Slack APIを経由してメッセージを送るプログラムを構築していきます。

簡易的にSlackのAPIを利用して、APIの便利さに触れてみましょう！

### Step1: Slackにてワークスペースを作成

[Slack](https://slack.com/intl/ja-jp/)にて今回のテスト用のワークスペースを作成しましょう！

既存のワークスペースでも問題ないです。

### Step2: Slack APIを利用できるように設定をしTokenを取得

まず[Slack api](https://api.slack.com/apps)にてAPPを作成していきます。

![Slack API](/wp-content/uploads/2021/06/fba98960fe0e008eed435035054d8625-1024x398.png)

From Scrachを選択します。

![Slack API](/wp-content/uploads/2021/06/fa883aa0c8491e650ba6f12d38a89509.png)

続いてApp名と先ほど作成したワークスペース名を記載していきます。

![Slack API](/wp-content/uploads/2021/06/7ac3f8177539417db75503a99a87fdea-1024x861.png)

作成した後の画面でPermissionsを選びます。

![Slack API](/wp-content/uploads/2021/06/454651c3375684edaa29d0823a7d226b.png)

PermissionsのScopesからBotに権限を付与していきましょう！

![Slack API](/wp-content/uploads/2021/06/b467872760959d46bbaee086a7cd1a3b.png)

files\:writeだけで問題ないですが、ここではchat\:writeも選択して設定していきます。

![Slack API](/wp-content/uploads/2021/06/d14339b3d696937eabcaa0a7b5a1103b.png)

設定後はワークスペースに設定をインストールしていきます。

![Slack API](/wp-content/uploads/2021/06/77b5d2fc991b02b8f25c232dec1d6270.png)

権限を許可をします。

![Slack API](/wp-content/uploads/2021/06/57b59897d7bb22dbe6005aaf8906768c-1024x692.png)

### Step3: SlackのワークスペースにBotsを追加する

続いてBotをSlackのワークスペースに追加していきます。

ワークスペースの左下にあるアプリを追加を選択しましょう！

![Slack API](/wp-content/uploads/2021/06/f3dadd646662faf41df1c6bce36995c8-474x1024.png)

検索窓にBotsと入れて追加を押しましょう！

![Slack API](/wp-content/uploads/2021/06/94e5fff13eb7fb598d2c6677a45e5f39-1024x492.png)

続いてBotsの名前を適当に決めて、インテグレーションを追加します。

![Slack API](/wp-content/uploads/2021/06/54639c8939d9a5ccc9a5c6dd3c810f91-1024x645.png)

そうするとBotsがワークスペースに追加されBotsのAPIトークンが発行されます。

![Slack API](/wp-content/uploads/2021/06/981199c869e9214e178f27e174cf2e7a-1024x504.png)

このAPIトークンを使うのでメモしておきましょう！

### Step4: Slackのチャネル名を取得する

チャネルにメッセージを送る上でチャネルIDが必要になります。

作成したワークスペースのURLのディレクトリ最後の文字列がチャネル名になりますのでメモしておきましょう！

<https://app.slack.com/XXXX/XXXXX/{チャネル名}>

これでSlackAPI利用の準備は完了です！

### Pythonファイルの作成と実行

ここからPythonファイルの作成と実行をしていきます。

```python
import pandas as pd
import requests

#  SLACK＿BOTのトークン
TOKEN = "{ご自身のBOTS　API　TOKEN}"
CHANNEL = "{ご自身のCHANNEL ID}"

# 適当なCSVファイルを作成しておきそのファイルをオープン
files = {
    "file" : open("test.csv")
}

params = {
    'token':TOKEN,
    'channels':CHANNEL,
    'filename': "test.csv",
    'initial_comment': "testです",
    'title': "test.csv"
}
requests.post(url="https://slack.com/api/files.upload",params=params, files=files)
```

これだけで簡単にSlackにメッセージとファイルを送ることが出来ちゃうんです！

TOKENとCHANNELの部分には先ほど取得したIDを入れておきましょう。

paramsの部分でSlackで送るべきパラメータをセットしています。

:::talk{who="robotan"}
わー、これは便利だねー！すごい！
:::

:::talk{who="umatan"}
そうなんだよー！めちゃくちゃ便利で使いやすいんだ！
:::

今回は適当なファイルを作成して送ってみましたが、<mark>例えばプログラムを日次バッチで回してその際にエラーが出たらSlackに通知するなんてのもできちゃいますねー！</mark>

SlackAPIの応用に関しては以下の僕のUdemy講座で詳しく解説していますので是非チェックしてみてください！

**[【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース](https://www.udemy.com/course/python-can/?referralCode=2CBAD21040FF57199084)**

[![Udemy python](/wp-content/uploads/2020/04/Udemy-me2-min-1024x554.jpg)](https://www.udemy.com/course/python-can/?referralCode=2CBAD21040FF57199084)

## Google search consoleのAPIを利用してみる

![stories pc](/wp-content/uploads/2021/01/All-the-data-bro-e1613475965440-1024x789.png)

続いて**Google search consoleのAPI**を利用してみましょう！

Google search consoleは、<mark>Googleの提供する無料ツールであり、検索順位や流入キーワードを測るのに非常に有用なツール</mark>です。

Pythonに移る前にいくつかの手順が必要になります。

### Step1：Google Cloud Platformで プロジェクトを作成する

まず、GoogleプロダクトのAPIを利用するためにはGoogle Cloud Platformへの登録が必要になります。

[Google Cloud Platformで プロジェクトを作成する](https://console.developers.google.com/projectselector/iam-admin/iam?supportedpurview=project,organizationId,folder\&orgonly=true\&project=\&folder=\&organizationId=)

![Google search console](/wp-content/uploads/2019/12/Google-search-console2-min-scaled.jpg)

Googleアカウントさえ持っていれば無料で利用できますので以下のURLからGoogle Cloud Platformのプロジェクトを作成しましょう！

### Step2：Google search consoleの APIを登録する

Google Cloud Platformでプロジェクトが作成できたら、次はGoogle search consoleのAPIを登録していきます。

以下のURLからGoogle search consoleのAPIを登録していきましょう！

[Google search consoleの APIを登録する](https://console.developers.google.com/flows/enableapi?apiid=webmasters\&credential=client_key)

先ほど作成したプロジェクトを指定してGoogle search consoleのAPIを登録していきましょう！

この時、認証を続ける画面が出ますが一旦進まなくて大丈夫です。

### Step3：サービスアカウントを作成

続いてプロジェクトの中でサービスアカウントを作成していきます。

![Google search console](/wp-content/uploads/2019/12/Google-search-console3-min.jpg)

以下のURLからプロジェクトに紐づくサービスアカウントを作成してください。

[サービスアカウントを作成する](https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts?supportedpurview=project\&project\&folder\&organizationId)

### Step4：キーを作成し、JSONファイルをダウンロード

この時キーを作成するボタンがあるのでそこから秘密鍵を作成しましょう！

![Google search console](/wp-content/uploads/2019/12/Google-search-console.jpg)この時JSONファイルでダウンロードするようにします。

### Step5：Google search consoleの管理画面上でユーザーの追加

最後にGoogle search consoleの管理画面上に、先ほど設定したサービスアカウントのメアドを登録していきます。

:::box
設定＞ユーザーと権限＞ユーザーを追加
:::

でサービスアカウントに表示されているメアドを追加しましょう！

これで前準備が終了です！続いては実際にPythonを動かしていきます！

### Pythonを使ってAPIを叩く

先ほどダウンロードしたJSONファイルをPythonファイルと同じディレクトリに移動します。

Pythonを実行する前にpip installしていきます。

```python
pip install --upgrade google-api-python-client
pip install oauth2client
```

その後で以下のコードをPythonで実行しましょう！

```python title="GSC-API.py"

import pandas as pd
from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

url = ['https://www.googleapis.com/auth/webmasters.readonly']
file = '[JSONファイルの置き場所]'
credentials = ServiceAccountCredentials.from_json_keyfile_name(url, file)
webmasters = build('webmasters', 'v3', credentials=credentials)

domain = '[あなたのドメイン]'
dimensions = ['query', 'page']
startDate = '2019-10-01'
endDate = '2019-11-01'
rowLimit = 5000

body = {
    'startDate': startDate,
    'endDate': endDate,
    'dimensions': dimensions,
    'rowLimit': rowLimit
}

response = webmasters.searchanalytics().query(siteUrl=domain, body=body).execute()
df = pd.io.json.json_normalize(response['rows'])

for i, d in enumerate(dimensions):
    df[d] = df['keys'].apply(lambda x: x[i])

df.drop(columns='keys', inplace=True)
df.to_csv('{}.csv'.format(start_date), index=False)
print(df)
```

これによりクエリと流入ページ別の流入数が出力されます。

Google search consoleのAPI利用に関して詳しくは以下の記事でまとめていますので是非チェックしてみてください！

<https://toukei-lab.com/google-search-console-api>

世界中のニュースを集められる「NewsAPI」をPythonで使う方法は、以下の記事で解説しています。

<https://toukei-lab.com/newsapi-python>

## PythonでAPIを利用　まとめ

最後までご覧いただきありがとうございます！

本記事では、**PythonでのAPIの利用**について詳しく見てきました！

色々なサービスの機能をPythonを使って操作することができることが分かったと思います。

冒頭でもお伝えしましたが、以下の私のUdemy講座でAPIの活用方法について詳しくまとめていますので興味のある方はチェックしてみてください！

:::box
[【初心者向け】Pythonで学ぶ！人気APIを活用した自動化＆データ活用完全ガイド！色々なAPIを組み合わせてみよう！](https://www.udemy.com/course/python-api/?referralCode=3D976B5BA53C8FFF78A1)

[![](/wp-content/uploads/2025/03/Udemy_API-1.jpg)](https://www.udemy.com/course/python-api/?referralCode=3D976B5BA53C8FFF78A1)

<table class="table">
<tbody>
<tr>
<th>【時間】</th>
<td><span>3.5時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級</span></td>
</tr>
</tbody>
</table>

API活用について詳しく知りたいならこのコース！

今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！

::button[このコースを見てみる]{href="https://www.udemy.com/course/python-api/?referralCode=3D976B5BA53C8FFF78A1" note="＼30日以内なら返金無料／"}
:::

Pythonでは他にもたくさんのことができます。以下の記事でPythonでできることについてまとめていますので是非チェックしてみてください！

<https://toukei-lab.com/python-can>

また、Pythonの勉強については以下の記事でまとめていますので是非チェックしてみてください！

<https://toukei-lab.com/python-learn>