Pythonで画像ファイルをTeamsにアップロード(送信)する手順

 

★悩み★
・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にアップロード(送信)されたかを確認しましょう。(下図の赤枠)
 

Python経由で画像ファイルを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にアップロード(送信)する場合は、以下に注意しましょう。
 

★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の利用を検討してみてください。

コメント