Python

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

PythonのAPIを利用
ウマたん
ウマたん
本記事では、Pythonを使ってSlackやGoogleのAPIを利用していきます!APIを利用することで非常に様々なことができるので是非試してみましょう!APIを使えるようになると幅が広がりますよ!

こんにちは!データサイエンティストでありデジタルマーケターであるウマたん(@statistics1012)です!

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

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

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

SlackのAPIを利用してみる

studies mention

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

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

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

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

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

Slackにて今回のテスト用のワークスペースを作成しましょう!

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

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

まずSlack apiにてAPPを作成していきます。

Slack API

From Scrachを選択します。

Slack API

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

Slack API

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

Slack API

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

Slack API

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

Slack API

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

Slack API

権限を許可をします。

Slack API

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

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

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

Slack API

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

Slack API

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

Slack API

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

Slack API

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

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

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

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

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

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

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で送るべきパラメータをセットしています。

ロボたん
ロボたん
わー、これは便利だねー!すごい!
ウマたん
ウマたん
そうなんだよー!めちゃくちゃ便利で使いやすいんだ!

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

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

【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース

Udemy python

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

stories pc

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

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

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

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

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

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

Google search console

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を登録する

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

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

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

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

Google search console

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

サービスアカウントを作成する

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

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

Google search consoleこの時JSONファイルでダウンロードするようにします。

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

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

設定>ユーザーと権限>ユーザーを追加

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

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

Pythonを使ってAPIを叩く

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

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

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

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

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

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

PC
Pythonを使ってGoogle search consoleのAPIを叩いてみた!5000行出力! こんにちは! 消費財メーカーでデジタルマーケターやらデータサイエンティストっぽいことをしているウマたん(@statistics101...

PythonでAPIを利用 まとめ

PythonでのAPIの利用について詳しく見てきました!

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

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

Pythonでできること7つをコード例をまじえてまとめておく!当サイト【スタビジ】本記事では、Pythonでできることを7つまとめていきます!!Pythonで何ができるのか分からない状況から深い理解にもっていきますよー!実際にPythonでの実装例や勉強方法も取り上げているのでぜひご自分の環境で手を動かして実装してみてくださいね!...

そしてPythonでできることについては今回学んだSlackAPIの応用も合わせて以下のUdemy講座で詳しく解説していますので是非チェックしてみてください!

【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース

Udemy python
【オススメ度】
【講師】僕!
【時間】3.5時間
【レベル】初級~中級

手前味噌ですが、まずPythonについて理解してみるのにオススメなコースを僕自身が出しています!

Pythonで出来ることのうち以下の5つを網羅して学んでいきます。

・データ集計・加工・描画
・機械学習を使ったモデル構築
・Webスクレイピング
・APIの利用
・Webアプリケーション開発

データ集計・加工・描画と機械学習モデル構築に関してはKaggleというデータ分析コンペティションのWalmartの小売データを扱いながら学んでいきます。

WebスクレイピングとAPI利用とWebアプリケーション開発に関しては、楽天の在庫情報を取得してSlackに自動で通知するWebアプリケーションを作成して学んでいきます。

Pythonで何ができるのか知りたい!という方には一番はじめにまず受けていただきたいコースです!

Twitterアカウント(@statistics1012)にメンションいただければ最低価格の1200円になる講師クーポンを発行いたします!

\30日間全額返金可能/

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

Python 勉強
【Python独学勉強法】初心者が3か月で習得できるロードマップ!当サイト【スタビジ】の本記事では、過去僕自身がPythonを独学を駆使しながら習得した経験をもとにPythonを効率よく勉強する方法を具体的なコード付き実装例と合わせてまとめていきます。Pythonはできることが幅広いので自分のやりたいことを明確にして勉強法を選ぶことが大事です。...
Pythonを初学者が最短で習得する勉強法

Pythonを使うと様々なことができます。しかしどんなことをやりたいかという明確な目的がないと勉強は捗りません。

Pythonを習得するためのロードマップをまとめましたのでぜひチェックしてみてくださいね!