こんにちは!データサイエンティストでありデジタルマーケターであるウマたん(@statistics1012)です!
Pythonというとデータ分析言語のイメージが強いのですが、実はPythonを使うことで様々なサービスのAPIを利用することができるんです!
APIとはアプリケーションプログラミングインターフェースの略であり、ソフトウェアを通して機能などをつなげることのできる仕組みです。
この記事ではそんな各種サービスのAPIをPythonで利用する方法についてまとめていきたいと思います!
SlackのAPIを利用してみる
まずはじめにSlackのAPIを利用していきましょう!
Slackは様々な企業に利用されていて仕事で使っている方も多いと思います。
ここでは、Slack APIを経由してメッセージを送るプログラムを構築していきます。
簡易的にSlackのAPIを利用して、APIの便利さに触れてみましょう!
Step1: Slackにてワークスペースを作成
Slackにて今回のテスト用のワークスペースを作成しましょう!
既存のワークスペースでも問題ないです。
Step2: Slack APIを利用できるように設定をしTokenを取得
まずSlack apiにてAPPを作成していきます。
From Scrachを選択します。
続いてApp名と先ほど作成したワークスペース名を記載していきます。
作成した後の画面でPermissionsを選びます。
PermissionsのScopesからBotに権限を付与していきましょう!
files:writeだけで問題ないですが、ここではchat:writeも選択して設定していきます。
設定後はワークスペースに設定をインストールしていきます。
権限を許可をします。
Step3: SlackのワークスペースにBotsを追加する
続いてBotをSlackのワークスペースに追加していきます。
ワークスペースの左下にあるアプリを追加を選択しましょう!
検索窓にBotsと入れて追加を押しましょう!
続いてBotsの名前を適当に決めて、インテグレーションを追加します。
そうするとBotsがワークスペースに追加されBotsの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日間集中コース
Google search consoleのAPIを利用してみる
続いてGoogle search consoleのAPIを利用してみましょう!
Google search consoleは、Googleの提供する無料ツールであり、検索順位や流入キーワードを測るのに非常に有用なツールです。
Pythonに移る前にいくつかの手順が必要になります。
Step1:Google Cloud Platformで プロジェクトを作成する
まず、GoogleプロダクトのAPIを利用するためにはGoogle Cloud Platformへの登録が必要になります。
Google Cloud Platformで プロジェクトを作成する
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:サービスアカウントを作成
続いてプロジェクトの中でサービスアカウントを作成していきます。
以下のURLからプロジェクトに紐づくサービスアカウントを作成してください。
Step4:キーを作成し、JSONファイルをダウンロード
この時キーを作成するボタンがあるのでそこから秘密鍵を作成しましょう!
この時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利用に関して詳しくは以下の記事でまとめていますので是非チェックしてみてください!
PythonでAPIを利用 まとめ
PythonでのAPIの利用について詳しく見てきました!
色々なサービスの機能をPythonを使って操作することができることが分かったと思います。
Pythonでは他にもたくさんのことができます。以下の記事でPythonでできることについてまとめていますので是非チェックしてみてください!
そしてPythonでできることについては今回学んだSlackAPIの応用もあわせて以下のUdemy講座で詳しく解説していますので是非チェックしてみてください!
【実践】ビジネスケースとつなげてPythonで出来ること5つを学べる3日間集中コース
【オススメ度】 | |
---|---|
【講師】 | 僕自身!今なら購入時に「VGRBCQDF」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください! |
【時間】 | 3.5時間 |
【レベル】 | 初級~中級 |
手前味噌ですが、まずPythonについて理解してみるのにオススメなコースを僕自身が出しています!
Pythonで出来ることのうち以下の5つを網羅して学んでいきます。
・データ集計・加工・描画
・機械学習を使ったモデル構築
・Webスクレイピング
・APIの利用
・Webアプリケーション開発
データ集計・加工・描画と機械学習モデル構築に関してはKaggleというデータ分析コンペティションのWalmartの小売データを扱いながら学んでいきます。
WebスクレイピングとAPI利用とWebアプリケーション開発に関しては、楽天の在庫情報を取得してSlackに自動で通知するWebアプリケーションを作成して学んでいきます。
Pythonで何ができるのか知りたい!という方には一番はじめにまず受けていただきたいコースです!
Twitterアカウント(@statistics1012)にメンションいただければ1500円になる講師クーポンを発行いたします!
PythonでAPIを開発にFastAPIを使った方法があり、以下の記事でまとめているのでチェックしてみて下さい。
PythonではAPIを使ってXの操作も可能です、以下の記事で解説しているのでチェックしてみて下さい。
また、Pythonの勉強については以下の記事でまとめていますので是非チェックしてみてください!