本文へ移動
カテゴリ

Webマーケ

Webマーケの記事すべてSEOサイト運営データマネジメントビジネス・マーケ概論広告

インタビュー

インタビューの記事すべて

おすすめサービス

おすすめサービスの記事すべて

おすすめ勉強法

おすすめ勉強法の記事すべて

おすすめ書籍

おすすめ書籍の記事すべて

データサイエンス

データサイエンスの記事すべてデータ解析品質工学多変量解析機械学習生成AI統計学

プログラミング

プログラミングの記事すべてPythonRSQLプログラミングスクール

スタビジについて

記事一覧運営者情報お問い合わせ

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

目次
ウマたんウマたん

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

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

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

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

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

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

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で実行しましょう!


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利用に関して詳しくは以下の記事でまとめていますので是非チェックしてみてください!

Pythonを使ってGoogle search console(サーチコンソール)のAPIを叩いてみた!当サイト【スタビジ】の本記事では、Pythonを使ってGoogle search console(サーチコンソール)のAPIを利用してみます。PythonはAPIを利用するのに非常に便利です。Googleプロダクトは各種APIを提供していてAPIを使うことで様々なことができるので試してみましょう!

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

NewsAPI × Python でニュースを取得しよう!APIキーの取得から使い方・無料プランの注意点まで解説!NewsAPIは、世界中のニュース記事をキーワードで検索して取得できるAPIです。本記事では、APIキーの取得、Pythonのrequestsでニュースを取得するコード、返ってくるデータの中身、無料プランの制限や注意点を分かりやすく解説します!

PythonでAPIを利用 まとめ

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

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

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

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

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

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

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

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

ウマたんスタビジ編集長

大学院は理系の統計科学研究室で、ベイズ統計学・時系列分析・異常検知を研究。日系・外資の消費財メーカーのデータサイエンティストを経て、現在は会社を経営しながらデータサイエンティストとして働いています。

スタビジアカデミー

読んだ内容を、スタアカの「PythonでAPIを使ってみよう!」コースで身につける

データサイエンス・AIを、動画と課題で体系的に学べるオンラインスクール。