★悩み★
・Pythonで画像ファイルをTeamsに送信するプログラムを作りたい。
・そもそもPythonで画像ファイルをTeamsにアップロードってできるの?
・Pythonで画像ファイルをTeamsにアップロード(送信)する場合の注意点は?
こういった「悩み」に答えます。
★本記事の内容★
➀ 準備:Teamsのチャネルのコネクタを設定(Incoming WebhookのURL作成)
➁ Pythonで画像ファイルをTeamsにアップロード(送信)する手順
③ Pythonで画像ファイルをTeamsにアップロード(送信)する場合の注意点
これからご紹介する「Pythonで画像ファイルをTeamsにアップロード(送信)する手順」を実践したことで、筆者は30分以内で「Teamsに画像ファイルをアップロード(送信)するPythonプログラム」を作成できました。
記事の前半では「プログラムを作成する前に実施するべき必要な準備」を紹介します。
記事の後半では「Pythonで画像ファイルをTeamsにアップロード(送信)するプログラムの作成手順と注意点」を紹介します。
この記事を読み終えることで、「Pythonを使ってTeamsに画像ファイルをアップロード(送信)できる」状態になります。
準備:Teamsのチャネルのコネクタを設定(Incoming WebhookのURL作成)
「準備:Teamsのチャネルのコネクタを設定(Incoming WebhookのURL作成)」に関してご紹介します。
★準備:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定★
手順1:Teamsにログイン
手順2:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定
上記の流れで、「準備:Teamsのチャネルのコネクタを設定(Incoming WebhookのURL作成)」ができます。
上記の各手順は、以下の日時で動作確認済みです。
動作確認済み日時:2022年4月29日
以降で、上記「準備:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定」の各手順に関してご説明します。
手順1:Teamsにログイン
「手順1:Teamsにログイン」に関してご説明します。
Incoming WebhookのURLを作成するために、Teamsへのログインが必要です。
「Teamsにログインする手順」に関しては、以下の記事をご覧ください。
以上で、「手順1:Teamsにログイン」は完了です。
手順2:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定
「手順2:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定」に関して説明します。
PythonからTeamsに画像ファイルをアップロード(送信)するには、Teamsのチャネルのコネクタ(Incoming WebhookのURL)の設定が必要です。
Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定する手順に関しては、以下の記事をご覧ください。
以上で、「手順2:Teamsのチャネルのコネクタ(Incoming WebhookのURL)を設定」は完了です。
上記の流れで、「Pythonで画像ファイルをTeamsにアップロード(送信)するための準備」ができました。
Pythonで画像ファイルをTeamsにアップロード(送信)する手順
「Pythonで画像ファイルをTeamsにアップロード(送信)する手順」に関してご紹介します。
★Pythonで画像ファイルをTeamsにアップロード(送信)するまでの流れ★
手順1: Pythonのインストール
手順2: Pythonの「pymsteams」ライブラリをインストール
手順3: Pythonで画像ファイルをTeamsにアップロードするプログラムを作成
手順4: Pythonで画像ファイルをTeamsにアップロードするプログラムを実行
上記の流れで、「Pythonを使って画像ファイルをTeamsにアップロード(送信)」できます。
上記の各手順は、以下の環境と日時で動作確認済みです。
動作確認済み環境:CentOS Linux release 7.8.2003 (Core)
動作確認済み日時:2022年4月29日
以降で、上記「Pythonで画像ファイルをTeamsにアップロード(送信)するまでの流れ」の各手順に関してご説明します。
手順1: Pythonのインストール
「手順1: Pythonのインストール」に関してご説明します。
Teamsに画像ファイルをアップロード(送信)するプログラムを実装するために、Pythonをインストールしましょう。
以下の記事を参考にし、お使いのパソコンやサーバーにPythonをインストールしましょう。
>> 【ubuntu向け】pyenvでPythonをインストールする手順【簡単】
>> 【コピペOK】pyenvでPythonをインストールする手順【Linux用】
>> 【最短5分】PyAutoGUIをWindowsにインストールする手順の「手順1:Pythonのインストール」を参照
>> 【環境構築】インストーラーでMacOSにPythonをインストール
既にPythonをインストールされている方は、本手順を省略してください。
以上で、「手順1:Pythonのインストール」は完了です。
手順2: Pythonの「pymsteams」ライブラリをインストール
『手順2: Pythonの「pymsteams」ライブラリをインストール』に関して説明します。
Pythonの「pymsteams」ライブラリを利用することで、Teamsに画像ファイルをアップロード(送信)できます。
「pymsteamsのインストール手順」に関しては、以下の記事をご覧ください。
既にpymsteamsをインストールされている方は、本手順を省略してください。
以上で、『手順2: Pythonの「pymsteams」ライブラリをインストール』は完了です。
手順3: Pythonで画像ファイルをTeamsにアップロードするプログラムを作成
「手順3: Pythonで画像ファイルをTeamsにアップロードするプログラムを作成」に関して説明します。
「Teamsに画像ファイルをアップロード(送信)する」Pythonプログラムを作成しましょう。
Pythonで「画像ファイルをTeamsにアップロード(送信)する」プログラムは、以下となります。
プログラム中の「適宜変更」と書いてある部分は、自分用に書き換えてください。
import json
import base64
import requests
import pymsteams
incoming_webhook_url = "XXXX" # 作成したIncoming WebhookのURLを指定(適宜変更)
image_file_path = "15089425421.jpg" # アップロードしたい画像ファイル(適宜変更)
# アップロードしたい画像ファイルを読み込む
with open(image_file_path, "rb") as file:
base64image = base64.b64encode(file.read()).decode("ascii")
image = "![]" + "(" + f"data:image/jpg;base64,{base64image}" + ")"
# 画像ファイルをTeamsにアップロード(送信)
teams_obj = pymsteams.connectorcard(incoming_webhook_url)
teams_obj.title("pymsteamsで画像(写真)を通知(送信)")
teams_obj.text(image)
teams_obj.send()
print("Python経由でTeamsに画像(写真)ファイルをアップロード(送信)しました。")
上記のプログラムを「upload-image-teams.py」というファイル名で保存しましょう。
以上で、「手順3: Pythonで画像ファイルをTeamsにアップロードするプログラムを作成」は完了です。
手順4: Pythonで画像ファイルをTeamsにアップロードするプログラムを実行
「手順4: Pythonで画像ファイルをTeamsにアップロードするプログラムを実行」に関して説明します。
手順3で作成した「画像ファイルをTeamsにアップロード(送信)するPythonのプログラム」の動作確認をしましょう。
以下のコマンドを実行し、手順3で作成した「画像ファイルをTeamsにアップロード(送信)するPythonのプログラム」の動作を確認しましょう。
# python upload-image-teams.py
Python経由でTeamsに画像(写真)ファイルをアップロード(送信)しました。
上記のように「Python経由でTeamsに画像(写真)ファイルをアップロード(送信)しました。」が表示された場合、「Pythonで画像ファイルをTeamsにアップロード(送信)できた」と判断できます。
また、画像ファイルがTeamsにアップロード(送信)されたかを確認しましょう。(下図の赤枠)
以上で、「手順4: Pythonで画像ファイルをTeamsにアップロードするプログラムを実行」は完了です。
上記の手順で、Pythonで画像ファイルをTeamsにアップロード(送信)できました。
Pythonで画像ファイルをTeamsにアップロード(送信)する場合の注意点
「Pythonで画像ファイルをTeamsにアップロード(送信)する場合の注意点」に関してご紹介します。
画像ファイルのサイズに注意する必要があります。
Pythonでサイズが大きい画像ファイルをTeamsにアップロード(送信)した場合、「This message is too long to display here.Please visit the external source app to view the message.」(下図の赤枠)が表示されます。
上記より、Pythonで画像ファイルをTeamsにアップロード(送信)する場合は、以下に注意しましょう。
★Pythonで画像ファイルをTeamsにアップロード(送信)する場合の注意点★
・28KB以上の画像ファイルをPython経由でアップロードしないこと。
・アップロードした画像ファイルを拡大することはできない。
参照:Incoming webhook request size limits(stack overflow)
以上が、「Pythonで画像ファイルをTeamsにアップロード(送信)する場合の注意点」となります。
Pythonで画像ファイルをTeamsにアップロード(送信)する場合、アップロードしたい画像ファイルのサイズに注意しましょう。
【まとめ】Pythonで画像ファイルをTeamsにアップロード(送信)する手順
いかがでしたでしょうか?
Pythonのpymsteamsライブラリを使い、「画像ファイルをTeamsにアップロード(送信)する」手順と注意点を解説し、以下の悩みを解決しました。
★悩み★
・Pythonで画像ファイルをTeamsに送信するプログラムを作りたい。
・そもそもPythonで画像ファイルをTeamsにアップロードってできるの?
・Pythonで画像ファイルをTeamsにアップロード(送信)する場合の注意点は?
Pythonで画像ファイルをTeamsにアップロード(送信)したい場合、pymsteamsの利用を検討してみてください。
コメント